javascript - Highcharts 数据导入 JSON - 格式化

标签 javascript json datetime highcharts

我正在尝试获取一些数据以使用 Highcharts 渲染散点图。这是数据示例。

{ "results": [ [ "2013-04-14 10:00", -1 ], 
               [ "2013-04-14 11:48", 0 ], 
               [ "2013-04-14 14:45", -1 ], 
               [ "2013-04-14 18:02", -1 ], 
               [ "2013-04-14 18:45", -1 ], 
               [ "2013-04-14 19:57", -1 ], 
               [ "2013-04-14 22:19", 0 ], 
               [ "2013-04-14 23:00", 0 ],
               [ "2013-04-14 23:00", -1 ], 
               [ "2013-04-14 23:00", 0 ], 
               [ "2013-04-14 23:00", 0 ], 
               [ "2013-04-14 23:00", 0 ], 
               [ "2013-04-14 23:00", 0 ], 
               [ "2013-04-14 23:00", 0 ], 
               [ "2013-04-14 23:00", 0 ], 
               [ "2013-04-15 00:18", 0 ], 
               [ "2013-04-15 00:21", 0 ], 
               [ "2013-04-15 00:22", 0 ], 
               [ "2013-04-15 00:24", 1 ], 
               [ "2013-04-15 04:15", -1 ], 
               [ "2013-04-15 09:02", -1 ] 
             ] 
}

这是js:

$(document).ready(function() {
  var options = {

    chart: {
        renderTo: 'container',
        type: 'scatter',
        zoomType: 'xy'
    },
    title: {
        text: 'Sentiment Report by Publish Date'
    },
    subtitle: {
        text: 'Written by Kat Chilton for Oxyme'
    },
    xAxis: {
        title: {
            text: 'Publish Date'
        },
        type: 'datetime'
    },
    yAxis: {
        min: 0,
        title: {
            text: 'Sentiment',
            align: 'high'
        },
        labels: {
            overflow: 'justify'
        }
    },
    plotOptions: {
        scatter: {
            marker: {
                radius: 5,
                states: {
                    hover: {
                        enabled: true,
                        lineColor: 'rgb(0,0,0)'
                    }
                }
            },
            states: {
                hover: {
                    marker: {
                        enabled: false
                    }
                }
            },
            allowPointSelect: true,
            dashStyle: 'dot',
        }
    },
    legend: {
        layout: 'vertical',
        align: 'left',
        verticalAlign: 'top',
        y: 0,
        floating: true,
        borderWidth: 1,
        backgroundColor: ((Highcharts.theme && Highcharts.theme.legendBackgroundColor) || '#FFFFFF'),
        shadow: true
    },
    credits: {
        enabled: false
    },
    series: [{}]
};
 $.getJSON('sample.json', function(data) {
    options.series[0].data = data;
    var chart = new Highcharts.Chart(options);
});

我没有在页面上呈现任何点,但图表确实显示了标题和其他内容。我认为这是数据格式的问题,但我似乎找不到原因。有人可以帮忙吗?

最佳答案

您需要从data获取results属性,如下所示

options.series[0].data = data.results;

Example

关于javascript - Highcharts 数据导入 JSON - 格式化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29096459/

相关文章:

javascript - 使用 getElementsByName 获取多个元素,更改它们的名称会得到奇怪的结果

python - 根据嵌套对象的某些元素过滤 Rethinkdb 表

php - DateTime 7 天后的 00 :00

java - 如果我在不同的国家/地区,我如何知道特定国家/地区的时间?

javascript - Nodejs 服务上从 XML 到 JSON

javascript - 未知提供者 : $elementProvider <- $element <- DragListController

java - 当我调用 Jenkins json api 时,如何判断构建是否正在进行?

json - bower init - bower.json 中 'private' 选项的目的是什么?

postgresql - PostgreSQL 9.0.x 中不推荐使用日期时间变量类型?

javascript - 如何将响应转为 Excel 文件