在highcharts中使用长系列的奇怪工具提示行为

时间:2013-06-25 19:35:37

标签: javascript jquery highcharts highstock

我正在使用Highcharts进行一个项目,我必须在其中显示两个系列,每个系列大约有一千个点。 x轴表示日期,y轴表示数量。此外,每个点都有一个相关的名称列表我的数据是一天一天没有间隙,有一个结构,如

var mydata = [ ...
               {x: theDate, y: theValue, names: theNames},
               ... ]

其中theNames是一个字符串数组。我可以通过this.points.point.names在工具提示格式化程序中访问这些内容,因为图表上显示的范围足够小。如果我更改x轴以使开始日期和结束日期相隔大约一年,则根本不会渲染工具提示。

我尝试但迄今为止失败的可能途径之一是将turboThreshold限制设置为最长系列的长度加1.设置此项让我至少在mydata.length > 1000时显示图表(默认值)。但是,如果x轴范围小于261,则仅显示工具提示。否则,工具提示将完全消失,我将从中获取名称的point.data对象。

我也不擅长JavaScript,但我想知道是否有办法将点的名称与包含它们的数组分开(在我的示例中,myData1myData2)并以某种方式从工具提示功能访问这些名称,而不通过当前点。

Here是jsFiddle的链接,用于演示此问题。

感谢所有帮助!

1 个答案:

答案 0 :(得分:2)

问题在于dataGrouping,当禁用时工作正常:http://jsfiddle.net/34tfg/1/

DataGrouping是Highcharts中的方法,用于近似点并在图表宽度不足时显示它们,例如如何在宽度为1 000px的图表中显示10 000个点 - >一个像素中的10个点..?当使用dataGrouping时,会创建新的点,因此所有自定义选项(如“名称”等)都会丢失(至少无法访问)。

代码:

    plotOptions: {
        line: {
            dataGrouping: {
                enabled: false
            },
            turboThreshold: 10000
        }
    },