Я попытался сгенерировать линейный график, используя 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, ",");
Я удалил первый элемент, так как это идентификатор.
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();
?>
Других решений пока нет …