2017-09-10 49 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