我正在尝试使用jpgraph创建折线图。
我在显示图表时出现问题 - 我收到的错误消息是:“JPGraph错误:25044 =无法使用自动缩放,因为无法确定y轴的有效最小/最大值(仅限空值) )“。
我的代码如下:
<?php // content="text/plain; charset=utf-8"
session_start();
require_once ('../includes/jpgraph/src/jpgraph.php');
require_once ('../includes/jpgraph/src/jpgraph_line.php');
// Some data
$datay1 = $_SESSION['userValues'];
$d = array();
for($i = 0; $i < 30; $i++)
$d[] = date("d", strtotime('-'. $i .' days'));
// Create the Line Graph.
$graph = new Graph(300,250);
$graph->SetScale("textlin");
$theme_class=new UniversalTheme;
$graph->SetTheme($theme_class);
$graph->img->SetAntiAliasing(false);
$graph->title->Set('Your Performance:');
$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->xaxis->SetTickLabels($d);
$graph->xgrid->SetColor('#E3E3E3');
// Create the first line
$p1 = new LinePlot($datay1);
$graph->Add($p1);
$p1->SetColor("#6495ED");
$p1->SetLegend('Line 1');
$graph->legend->SetFrameWeight(1);
// Output line
$graph->Stroke();
?>
我想我可能在分配x轴的日期时出错(我想显示最近30天)。数据通过会话传递,并经过测试以确保其中包含实际数据。
由于
答案 0 :(得分:0)
尝试执行以下操作并查看该网页http://jpgraph.net/doc/howto2.php
像往常一样,我们希望确保X轴的比例涵盖我们的 功能正是如此,我们需要找出最小值和最大值 X轴并使用它们手动设置比例。
$n = count($datax);
$xmin = $datax[0];
$xmax = $datax[$n-1];
现在是时候设置基本图表了。这是非常相似的 我们之前做过的唯一不同就是我们使用了 SetMajtickPosition()方法避免了次要的NULL参数 我们不感兴趣的滴答声。
$graph->SetScale('linlin',0,0,$xmin,$xmax);
$graph->title->Set('Example with manual tick labels');
$graph->title->SetFont(FF_ARIAL,FS_NORMAL,12);
$graph->xaxis->SetPos('min');
$graph->xaxis->SetMajTickPositions($tickPositions,$tickLabels);
$graph->xaxis->SetFont(FF_TIMES,FS_NORMAL,10);
$graph->yaxis->SetFont(FF_TIMES,FS_NORMAL,10);
$graph->xgrid->Show();