来自csv的输入数据不适用于jpgraph线图

时间:2015-01-23 16:20:23

标签: php jpgraph

我尝试使用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();
?> 

1 个答案:

答案 0 :(得分:0)

虽然我无法解释原因,但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();
?>