Вывод JpGraph LinePlot превышает площадь графика при использовании SetScale
Я использую JpGraph для отображения некоторых данных. Когда я использую функцию SetScale для принудительного задания диапазона оси Y, результат визуально выходит за пределы области графика. Я хотел бы обрезать вывод в области графика.
<?php
require_once ('include/jpgraph/jpgraph.php');
require_once ('include/jpgraph/jpgraph_line.php');
$datay1 = array(20,7,16,46,90,5,0,5,95);
// Setup the graph
$graph = new Graph(400,300);
$graph->title->Set('Graph Title');
$graph->title->font_size = 20;
$graph->SetScale("textlin",20,50);
//this version works but does not set the y-axis scale
//$graph->SetScale("textlin");
$p1 = new LinePlot($datay1);
$graph->Add($p1);
// Output line
$graph->Stroke();
?>
Это текущий вывод:
Это желаемый результат (отображается в Excel):
2 ответа
Решение
Я связался с компанией, стоящей за JpGraph, и они смогли помочь. Отсутствует опция:
$graph->setClipping(true);
Я надеюсь, что это поможет любому, у кого может быть похожая проблема.
$myMaxY = 50; //You need to set Y Max as you want
$length = count($datay1);
for($i = 0; $i < $lenght; $i++)
{
if($datay1[$i] > $myMaxY)
$datay1[$i] = $myMaxY;
}
$graph->SetScale("textlin",20,$myMaxY); //Dont forget to change this