2016-08-25 6 views
4

私はそうchartData下の配列にネストJSONとPHPでのような配列を生成:配列内のjsonをハイチャートに挿入するには?

array:1 [▼ 
    0 => array:18 [▼ 
    "id" => 1 
    "chart_title" => "A title" 
    "chart_type" => "line" 
    "chartData" => "[[1470406561000,2116],[1470406561000,2116],[1470406562000,2116]]" 
    ] 
] 

私はこの配列内chartData JSONにアクセスし、HighChartsシリーズに挿入したいし。

私が使用して試した

window['chart' + chartData.id].series[0].addPoint(chartData, true, shift);

ともforEachループ:

chartData.forEach(function(dataPoint){ 
         console.log(dataPoint); 
         window['chart' + chartData.id].series[0].addPoint(dataPoint[0], true); 
         dataPoint.slice(0,30).forEach(function(point){ 
          window['chart' + chartData.id].series[0].addPoint(point, true, shift); 
         }); 
        }); 

をコンソールにエラーが表示されないと値がチャートに表示されません。どちらも。 I console.log(dataPoint);なら、私は正しい出力のように見えるものを得る: [[1470406561000,2116],[1470406561000,2116],[1470406562000,2116]]

にはどうすればhighchartシリーズにchartData JSONを挿入するのでしょうか?

答えて

1

私の問題は、JSONがビュー上でjQueryによって解析されておらず、基本的にハイチャートシリーズのrawに渡していたことでした。 jQuery.parseJSON(chartData);を追加することで、正しく解析してグラフに表示することができました。

0

のjQueryを使用すると、次のように試すことができます:

var dataPoint = [[1470406561000,2116], 
         [1470406561000,2116], 
         [1470406562000,2116]]; 

    var chart = $('#chart2').highcharts(); 
    chart.series[0].setData(dataPoint); 

    $('#chart2').highcharts().redraw(); 

必ずあなたのコードに従って正しくチャートのID、すなわち#chart2を変更してください。

+0

ありがとう@vijayP jqueryでdataPoint varを設定しても問題なく動作しましたが、var 'dataPoint = chartData;のような配列を使用して設定しようとするとhttp://のようなグラフが描画されますoi68.tinypic.com/29djria.jpg – kevinabraham

+0

あなたが投稿した画像は、今のところ私にはアクセスできません。前のステートメント 'dataPoint = chartData;'を 'console.log(chartData)'にして確認することができます。 – vijayP

+0

私はコンソールにデータを記録しました。出力は '[[1470406561000,2116]、[1470406561000,2116]、[1470406562000,2116]]' – kevinabraham

関連する問題