我尝试使用jpgraph生成线图。手动指定数组时,它工作得很好。但是当我厌倦了从csv文件接收数据时,只生成了绘图,但没有显示数据行。我在输入和显示打印数组上的值时找不到任何错误,
print_r ($data[2]); printing displays Array ( [1] => 22.7625 [2] => 7.1984)
搜索手册并没有解决我的问题。有人知道原因吗?
信息:这是我如何从csv文件中提取数据,
$handle = fopen("/var/www/html/xx/yy/myfile.csv", "r");
$data[$i] = fgetcsv($handle, ",");
我删除了第一个元素,因为它是一个 ID。
unset($data[2] [0]);
编辑:
<?php
include ( "../jpgraph.php");
include ("../jpgraph_line.php");
$handle = fopen("/var/www/html/xx/yy/myfile.csv", "r");
for ($i=0;$i<=10;$i++)
{
$data[$i] = fgetcsv($handle, ",");
unset($data[2] [0]);
}
$graph = new Graph(350, 250,"auto");
$graph->SetScale( "textlin");
$lineplot =new LinePlot($data[2]);
$lineplot ->SetColor("blue");
$graph->Add( $lineplot);
$graph->Stroke();
?>
虽然我无法解释为什么,unset() 不是你的朋友。
下面是一个示例,它从 csv 文件中剥离每行的第一个元素并绘制接下来的三个元素。它确实有效。感谢您向我介绍JPGraph。
<?php
include "jpgraph.php";
include "jpgraph_line.php";
$handle = fopen("mike.csv", "r");
for ($i=0;$i<=10;$i++)
{
$temp = fgetcsv($handle, ",");
// $temp[0] is ignored
$data[$i][0] = $temp[1];
$data[$i][1] = $temp[2];
$data[$i][2] = $temp[3];
}
$graph = new Graph(350, 250);
$graph->SetScale( "textlin");
$lineplot =new LinePlot($data[2]);
$lineplot ->SetColor("blue");
$graph->Add( $lineplot);
$graph->Stroke();
?>