2017-09-10 10 views
0

配列をグラフに変換する方法については、このGoogle Chartsチュートリアルを使用しています。JavaScript - Google ChartsのJavascriptクラスにPHP多次元配列を挿入

チュートリアルのデータはすでに機能しています。今私は自分のデータを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のコードです:私はalert(js_array);を呼び出すと、配列が

<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> 

と呼ばれています。

グラフが表示されない理由はわかりません。 function drawChart()js_arrayを挿入する方法がわかりません。 JavaScriptを初めて使用しています。ご協力いただきありがとうございます。

+0

とき 'はconsole.log(js_array)'あなたは何を得るのですか? – Ali

+0

@Ali私は何も得られません。 – user6043723

答えて

2

配列に次元をもう1つ追加する可能性があります。

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

PHPに似た関数にデータを挿入するには、 'google.charts.setOnLoadCallback(drawChart);'を変更する必要がありますか? – user6043723

+0

@ user6043723どこかでコードが実行されているのを確認できますか? –

+0

こんにちは。私のコード[http://liveweave.com/qSWDtk](http://liveweave.com/qSWDtk) – user6043723

関連する問題