2017-09-10 48 views
0

我正在使用此Google Charts教程介紹如何將數組轉換爲圖形。JavaScript - 將PHP多維數組插入到Google Charts的Javascript類中

本教程中的數據已經在該函數中。現在我想將自己的數據從PHP數組插入到函數中。我設法將我的PHP數組轉換爲JavaScript數組。下面是我的代碼:

$jsArray = array(); 
foreach($movingAverages as $movingAverage) { 
    $jsArray[] = array((int) $movingAverage['unix'], (int) $movingAverage['closing-prices']); 
} 

下面是我的示例代碼:

Array 
(
    [0] => Array 
     (
      [0] => 1505040240 
      [1] => 3452 
     ) 

    [1] => Array 
     (
      [0] => 1505040300 
      [1] => 3451 
     ) 

    [2] => Array 
     (
      [0] => 1505040360 
      [1] => 3446 
     ) 

    [3] => Array 
     (
      [0] => 1505040420 
      [1] => 3449 
     ) 

這是我目前的JavaScript代碼:

<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script> 
    <script type="text/javascript"> 

    var js_array = <?php echo json_encode($jsArray);?>; 
    alert(js_array); 


     google.charts.load('current', {'packages':['corechart']}); 
     google.charts.setOnLoadCallback(drawChart); 

     function drawChart() { 
     var data = google.visualization.arrayToDataTable([ 
      ['Time', 'Closing Prices'], 
     [js_array] 


     ]); 

     var options = { 
      title: 'BTC-EUR', 
      curveType: 'function', 
      legend: { position: 'top' } 
     }; 

     var chart = new google.visualization.LineChart(document.getElementById('curve_chart')); 

     chart.draw(data, options); 
     } 
    </script> 
    </head> 
    <body> 
    <div id="curve_chart" style="width: 100%; height: 500px"></div> 
    </body> 
</html> 

當我打電話alert(js_array);數組被調用。我不知道爲什麼圖表不顯示。我不知道如何將js_array插入我的function drawChart()。 這是我第一次使用JavaScript。所以謝謝你的幫助。

+0

你怎麼得到,當你'的console.log(js_array)'? – Ali

+0

@Ali我什麼也沒得到。 – user6043723

回答

2

您可能會在陣列中增加一個維度。

var data = google.visualization.arrayToDataTable([ 
    ['Time', 'Closing Prices'], 
    js_array 
]); 

UPDATE:

js_array.unshift(['Time', 'Closing Prices']); 
var data = google.visualization.arrayToDataTable(js_array); 
+0

我是否需要修改'google.charts.setOnLoadCallback(drawChart);'將數據插入到類似於PHP的函數中? – user6043723

+0

@ user6043723我可以看到你的代碼在某處運行嗎? –

+0

嗨。請參閱我的代碼[http://liveweave.com/qSWDtk](http://liveweave.com/qSWDtk) – user6043723