2011-08-06 34 views
0

我正在嘗試創建一個PHP腳本來繪製一些歷史股票數據。gchartphp addDataSet()最大限制?

我有數據在陣列中,我試圖使用此代碼gchartphp曲線圖吧:

require_once("../gchart/gChart.php"); 
$lineChart = new gLineChart(1000, 200); 
//********PROBLEM HERE********** 
$lineChart->addDataSet($yearsData); 
//****************************** 
$lineChart->setLegend(array('Nice figures')); 
$lineChart->setColors(array('ED237A')); 
$lineChart->setVisibleAxes(array('x','y')); 
$lineChart->setDataRange(0,1); 
$lineChart->setLegendPosition('r'); 
// axisnr, from, to, step 
$lineChart->addAxisRange(0,0,365); 
$lineChart->addAxisRange(1,0,1); 

$lineChart->setGridLines(floatval(1.9),10); 
$lineChart->renderImage(true); 

如果我把在addDataSet像這樣它的工作原理和圖形顯示。

array(0.34234, 1, 10, .01, 20) 

但是,如果我在addDataSet把一個陣列365倍的值的曲線圖不呈現和頁面示出了斷開的圖像符號。該頁面不顯示任何警告或錯誤。

有什麼建議嗎?是否有限制你可以繪製多少個值?

回答

1

AFAIK,365值應該適用於POST。如果你做了GET,那麼尺寸太大的可能性會更大。

可能的問題是:
1)您沒有輸出圖像。

$lineChart->renderImage(true);本身不會產生圖像。 您需要將腳本生成的png數據設置爲標記的src。因此,如果上面的腳本是「graph.php」,那麼你會像一個單獨的文件顯示它:

<img src='graph.php' />

2)您的數據相呼應的屏幕而產生的圖像。

如果你看一看gChart.php裏面的renderImage功能代碼,
第一行是 header('Content-type: image/png');

所以即使輸出一個字符到屏幕上這個電話之前,如調試輸出(在graph.php)會打破你的形象。 例如,以下內容會產生破碎的圖像。

echo "x"; 
$chart->renderImage(true);