【问题标题】:Cannot get data to show (Highstock)无法获取要显示的数据(Highstock)
【发布时间】:2013-07-08 08:56:17
【问题描述】:

以下代码显示一个空白图表(轴和标题显示正常但没有数据),我不明白为什么。这似乎不是数据格式问题,因为我遵循了文档。将选项记录到 Firebug 显示“系列”为空。

var chart1;
var data;

options = {
    chart: {
    renderTo: 'container',
        animation: Highcharts.svg,              
    },           
    rangeSelector: {
        enabled: true
    },
    navigator: {
        enabled: true
    },
    xAxis: {
        type: 'datetime'
    },
    yAxis: { //--- Primary yAxis
        title: {
            text: 'Volume'
        }
    },              
    series: [{
        name: 'name',
        step: true,
        data: data
    }]
};

console.log(options); //series is null here !

function readData() {
    //using foo data here, actually getting it via AJAX, and that works OK
    data = [[0,1],[1,2],[2,3]];
    alert("data created");

    //this checks that the data loaded OK
    document.getElementById("result").innerHTML = "";

    for (var i = 0; i < data.length; i++) {
        document.getElementById("result").innerHTML += 'Key: ' + data[i][0] + '; Value: ' + data[i][1] + "<br />";
    }
    chart1 = new Highcharts.StockChart(options);
}

这是我所包含的:

<head>
    <title>Title</title>
    <meta charset="UTF-8">
    <script type="text/javascript" src="XHR.js"></script><!-- unrelated (for ajax) -->
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js" type="text/javascript"></script>
    <script src="http://code.highcharts.com/stock/highstock.js" type="text/javascript"></script>
    <script src="http://code.highcharts.com/stock/modules/exporting.js" type="text/javascript"></script>
    <script type="text/javascript"> ... </script>
</head>

【问题讨论】:

  • 您的浏览器控制台是否显示任何错误?
  • 不,Firefox 和 Firebug 中的普通开发控制台都不是。
  • 我怎样才能像这个人一样记录情节选项:stackoverflow.com/questions/10590162/…
  • 使用console.log(options)并在firebug控制台中查看
  • 谢谢!好吧,系列是空的。

标签: javascript highcharts


【解决方案1】:

当然 data 为空,因为您没有将其分配给选项,请添加以下行:

options.series[0].data = data; 

来自 AJAX 的数据到来之后。例如,在您创建图表之前 (chart1 = ...)。

【讨论】:

  • 谢谢,其实我找了data: [],并在适当的时候打电话给chart1.series[0].setData(data);。效果更好。
  • 是的,这也是可能的。
猜你喜欢
  • 2019-12-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-07
  • 1970-01-01
  • 2014-01-28
相关资源
最近更新 更多