我正在使用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,但我想知道是否有办法将点的名称与包含它们的数组分开(在我的示例中,myData1
和myData2
)并以某种方式从工具提示功能访问这些名称,而不通过当前点。
Here是jsFiddle的链接,用于演示此问题。
感谢所有帮助!
答案 0 :(得分:2)
问题在于dataGrouping,当禁用时工作正常:http://jsfiddle.net/34tfg/1/
DataGrouping是Highcharts中的方法,用于近似点并在图表宽度不足时显示它们,例如如何在宽度为1 000px的图表中显示10 000个点 - >一个像素中的10个点..?当使用dataGrouping时,会创建新的点,因此所有自定义选项(如“名称”等)都会丢失(至少无法访问)。
代码:
plotOptions: {
line: {
dataGrouping: {
enabled: false
},
turboThreshold: 10000
}
},