动态添加 Highcharts 系列

5

我在使用Highstock动态添加系列时遇到了问题。为此,我使用了chart.addSeries函数。第一系列也应该通过来自Web服务的数据动态添加。我的问题出现在图表的初始视图中。我的意思是当图表首次显示时,滚动条显示不正确,但当我点击缩放区域(1、3、6个月-全年-YTD),滚动条就会出现。

chart.addSeries({
                name: name,
                data: data,
                type: 'spline'
            });

我将数据分别设置到导航器中(为了使x轴上的数据正确),系列属性为空(一开始我没有任何系列)- 问题就在这里(空系列)。我看过很多示例使用addSeries添加到其他系列中,但还没有见过作为第一个系列的情况。
 var navigator = chart.get('navigator');
            navigator.setData(data);

我已经搜索了很多,但是找不到一个好的解决方案。请帮帮我...

谢谢


请展示一些演示,以便重现此问题。 - Ricardo Alvaro Lohmann
例如像这个http://jsfiddle.net/gh/get/jquery/1.7.2/highslide-software/highcharts.com/tree/master/samples/stock/members/chart-addseries/,但区别在于我的系列一开始是空的,并且第一个系列和所有其他系列一样是动态应用的。在addSeries的API参考中已经说明了带有启用导航器的**基础系列**不能被动态添加。 - bahar_Agi
另外一件事:我可以使用多个系列来实现我的目标,但我想使用addSeries来编写轻量级代码... - bahar_Agi
1个回答

4

问题出在范围选择器中选定的按钮上。您强制Highstock在空数据上设置极值,导致它会产生错误。您可以在添加数据后直接设置极值,具体请参见以下示例:

chart.addSeries({
        name: 'ADBE',
        data: ADBE
    }, false);
    var nav = chart.get('navigator');
    nav.setData(ADBE);
    chart.xAxis[0].setExtremes(); //reset or set extremes to get navigator and scrollbar

Live example: http://jsfiddle.net/vqa2r/


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接