Я начал использовать JPGraph и попробовал следующий простой пример графика. Я только добавил новую переменную $ xdata для построения графика xy. Тем не менее, он не строит правильный график (значения на оси x отображаются как 1,2,3,4, поэтому не представляют значения в $ xdata). Кроме того, значения y не отображаются правильно.
График работает нормально, если я рисую без значений оси X, то есть $ p1 = new LinePlot ($ datay1);
<?php // content="text/plain; charset=utf-8"require_once ('jpgraph/jpgraph.php');
require_once ('jpgraph/jpgraph_line.php');
$datay1 = array(20,15,23,15);
$datay2 = array(12,9,42,8);
$datax = array(0,10,20,30);
// Setup the graph
$graph = new Graph(300,250);
$graph->SetScale("textlin");
$theme_class=new UniversalTheme;
$graph->SetTheme($theme_class);
$graph->img->SetAntiAliasing(false);
$graph->title->Set('Filled Y-grid');
$graph->SetBox(false);
$graph->img->SetAntiAliasing();
$graph->yaxis->HideZeroLabel();
$graph->yaxis->HideLine(false);
$graph->yaxis->HideTicks(false,false);
$graph->xgrid->Show();
$graph->xgrid->SetLineStyle("solid");
$graph->xgrid->SetColor('#E3E3E3');
// Create the first line
$p1 = new LinePlot($datay1,$datax);
$graph->Add($p1);
$p1->SetColor("#6495ED");
$p1->SetLegend('Line 1');
// Create the second line
$p2 = new LinePlot($datay2,$datax);
$graph->Add($p2);
$p2->SetColor("#B22222");
$p2->SetLegend('Line 2');
$graph->legend->SetFrameWeight(1);
// Output line
$graph->Stroke();
?>
С данными xy я рекомендую использовать ScatterPlot:
Других решений пока нет …