javascript - 需要一些有关 Highcharts JSON 格式的指示

标签 javascript php json

我有以下 JSON,我试图将其用于 highcharts 图表。目前,我在图表(数据)中没有得到任何输出,尽管我确实在图例中看到了所有四个“问题”。

    [
    {
        "name": "Question 1",
        "data": [
            "1391981824000, 2",
            "1391981874000, 2",
            "1391981966000, 4",
            "1391982000000, 1"
        ]
    },
    {
        "name": "Question 2",
        "data": [
            "1391981830000, 3",
            "1391981878000, 4",
            "1391981971000, 2",
            "1391982005000, 2"
        ]
    },
    {
        "name": "Question 3",
        "data": [
            "1391981837000, 1",
            "1391981885000, 1",
            "1391981977000, 1",
            "1391982010000, 3"
        ]
    },
    {
        "name": "Question 4",
        "data": [
            "1391981842000, 4",
            "1391981898000, 3",
            "1391981982000, 3",
            "1391982015000, 4"
        ]
    }
]

以及图表的 javascript:

$(function () {
    var chart;

    $(document).ready(function() {
        $.getJSON("mysql/getChartData.php?sd=2012-02-09%2015:36:42&ed=2016-02-09%2016:37:39", function(json) {

            chart = new Highcharts.Chart({
                chart: {
                    renderTo: 'custom-range-line',
                    type: 'line'
                },
                xAxis: {
                    type: 'datetime'
                },
                title: {
                    text: 'Custom Date Range',
                    x: -20
                },
                subtitle: {
                    text: '',
                    x: -20
                },
                yAxis: {
                    title: {
                        text: 'Number of Ratings'
                    }
                },
                tooltip: {
                    formatter: function() {
                            return '<b>'+ this.series.name +'</b><br/>'+
                            this.x +': '+ this.y;
                    }
                },
                legend: {
                    layout: 'vertical',
                    align: 'right',
                    verticalAlign: 'top',
                    x: -10,
                    y: 100,
                    borderWidth: 2
                },
                series: json
            });
        });

    });

});

我做错了什么/为什么这不起作用?我找到了大量关于如何执行此操作的示例,但没有一个完全符合我的需要。如果我还可以展示其他内容,请告诉我。

最佳答案

您的数据需要是一个元组数组,如下所示:对于 UNIX 时间戳,它们需要是数字,目前您将它们作为字符串。看起来您已经正确地将 UNIX 时间戳 * 1000 相乘才能在 JavaScript 中工作。请确保 options.data 的值是一个数组,因此您可以向其中添加更多组。首先尝试使用一个,然后逐渐增加它,以便您能够习惯 HighCharts API。

 var options = {
    "data": {[
        [1391981824000, 2],
        [1391981874000, 2],
        [1391981966000, 4],
        [1391982000000, 3],
     ]}
 }

关于javascript - 需要一些有关 Highcharts JSON 格式的指示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21841245/

相关文章:

javascript - 如何访问对象中子元素的值?

javascript - 离线网络应用程序和数据库同步

javascript - AngularJS:删除父元素

PHP strtotime 总是在午夜返回

javascript - 从 Siemens S7 1500 PLC 上的 Web 服务器页面读取 JSON 结构

java - 第三方类中 Jackson 无限递归的解决方法

javascript - 单击菜单时触发事件

javascript - ajax post请求后在php中解析json

php - 验证来自不同站点的时区 'name'?

php - 在 Laravel 中找不到类 'App\Http\Controllers\Response' 错误