使用带有LARAVEL的HighCharts

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用带有LARAVEL的HighCharts相关的知识,希望对你有一定的参考价值。

我想使用Highchart进行laravel但我不知道如何使用正确的语法将数据从控制器传递到刀片。实际上我正在使用静态数据,图表显示正确。

statistiche.blade.php

<div class="row">
    <div class="col-md-12">
        <div id="container2" style="height: 400px; min-width: 310px"></div>
    </div>
</div>

<script>
// Create the chart
        Highcharts.stockChart('container2', {

            rangeSelector: {
                selected: 1
            },

            title: {
                text: 'AAPL Stock Price'
            },

            plotOptions: {
                spline: {
                    marker: {
                        enabled: true
                    }
                }
            },

            series: [{
                name: 'Richieste scadute',
                data: [
                    [Date.UTC(1970, 9, 21), 0],
                    [Date.UTC(1970, 10, 4), 0.28],
                    [Date.UTC(1970, 10, 9), 0.25],
                    [Date.UTC(1970, 10, 27), 0.2],
                    [Date.UTC(1970, 11, 2), 0.28]
                ]
            }, {
                name: 'Richieste evase',
                data: [
                    [Date.UTC(1970, 9, 29), 0],
                    [Date.UTC(1970, 10, 9), 0.4],
                    [Date.UTC(1970, 11, 1), 0.25],
                    [Date.UTC(1971, 0, 1), 1.66],
                    [Date.UTC(1971, 0, 10), 1.8]
                ]
            }, {
                name: 'Richieste in attesa',
                data: [
                    [Date.UTC(1970, 10, 25), 0],
                    [Date.UTC(1970, 11, 6), 0.25],
                    [Date.UTC(1970, 11, 20), 1.41],
                    [Date.UTC(1970, 11, 25), 1.64],
                    [Date.UTC(1971, 0, 4), 1.6]
                ]
            }]
        });

我想使用控制器提取数据并将其传递到刀片。一些忠告?

答案

将数据传递到highcharts图有两种方法。

1)使用$.getJSON获取数据并填写系列。

$.getJSON("{{ route('get-json-route') }}", function(chart){
    var hashObj = {};
    var seriesObj = {};

    var graphs = {'dd':'graph dd', 'ld' : 'graph ld title'};

    for(var nam in graphs) {
        seriesObj['visible'] = 1;
        seriesObj['color'] = '#00CC00';
        seriesObj['name'] = chart[nam]['name'] + ' stats';
        seriesObj['data'] = chart[nam]['data'];
        highcharts.addSeries(seriesObj);
    }
    highcharts.redraw();
});

2)使用json_encode将数据直接传递到您的刀片模板:

seriesObj['data'] = {!! json_encode($data) !!};
另一答案

嘿老兄使用特殊图书馆:https://github.com/julles/laravel-highcharts

只需安装和工作:

composer require muhamadrezaar/highcharts

以上是关于使用带有LARAVEL的HighCharts的主要内容,如果未能解决你的问题,请参考以下文章

php:为highcharts渲染javascript时,laravel慢视图渲染时间

如何在 laravel 中为 highcharts 做 if else 语句

使用带有两个不同 JSON 端点的 Highcharts 向下钻取绘制条形图

带有传入 Json 数据的 Highcharts 实时图表 [已修复 []

Highcharts 基本曲线图;Highcharts 带有数据标签曲线图表;Highcharts 异步加载数据曲线图表

laravel安装完成后,访问public目录,显示一片空白怎么回事