metolina Direkt Blade içinde basacaksanız:
data: @json($data) ,
Ajax ile yapacaksanız şöyle yapılabilir:
Highcharts.Chart('Highchart', { // Buradaki Highchart container, yani #Highchart
chart: {
events: {
load: function () {
var chart = this;
$.ajax({
url: '/charts', // Chart verisini dönen rota
type: "POST",
success: function (response) {
$.each(response.series, function (i, data) {
chart.addSeries(data);
});
}
});
}
}
},
});
PHP kısmı da örneğin:
public function chart()
{
$series = [
[
'name' => 'Sıcaklık',
'type' => 'column',
'yAxis' => 1,
'data' => [10.0, 10.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
'color' => 'rgb(42, 239, 218,0.2)',
'tooltip' => [
'valueSuffix' => '°C'
]
],
[
'name' => 'Nem',
'type' => 'column',
'yAxis' => 1,
'data' => [10.0, 10.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
'color' => 'rgb(105, 39, 123,0.2)',
'tooltip' => [
'valueSuffix' => '%'
]
]
];
return response()->json(compact('series'));
}
Hatalı olabilir, dokümanlarına bakarak yaptım:
https://api.highcharts.com/class-reference/Highcharts.Chart#toc1
https://api.highcharts.com/class-reference/Highcharts.Chart#addSeries
https://api.highcharts.com/highcharts/chart.events.load