javascript - example - highcharts php mysql json
¿Cómo insertar json dentro de una matriz en Highcharts? (2)
chartData
una matriz como tal en php con json anidado en la matriz bajo chartData
:
array:1 [▼
0 => array:18 [▼
"id" => 1
"chart_title" => "A title"
"chart_type" => "line"
"chartData" => "[[1470406561000,2116],[1470406561000,2116],[1470406562000,2116]]"
]
]
Quiero acceder al chartData
json dentro de esta matriz e insertarlo en una serie de HighCharts .
He intentado usar: window[''chart'' + chartData.id].series[0].addPoint(chartData, true, shift);
y también para forEach
ciclo:
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);
});
});
Ambos no muestran ningún error en la consola y los valores no aparecen en el gráfico. Si console.log(dataPoint);
Obtengo lo que parece el resultado correcto: [[1470406561000,2116],[1470406561000,2116],[1470406562000,2116]]
¿Cómo insertaría el chartData
json en una serie de Highchart ?
Con jQuery puedes intentarlo así:
var dataPoint = [[1470406561000,2116],
[1470406561000,2116],
[1470406562000,2116]];
var chart = $(''#chart2'').highcharts();
chart.series[0].setData(dataPoint);
$(''#chart2'').highcharts().redraw();
Asegúrese de cambiar la identificación del gráfico, es decir, #chart2
correctamente según su código.
Mi problema era que JQuery no estaba analizando el JSON en la vista y esencialmente lo pasaba a la serie de los Highcharts en bruto. Al agregar jQuery.parseJSON(chartData);
Pudo analizar correctamente y mostrar en el gráfico.