0

我正在将 Highcharts 用于一个项目,在该项目中我必须显示两个系列,每个系列大约有一千个点。x 轴代表日期,y 轴代表数量。另外,每个点都有一个关联的名字列表,我的数据是逐日无间断的,结构如

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

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

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

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

是演示此问题的 jsFiddle 的链接。

感谢所有帮助!

4

1 回答 1

2

问题出在 dataGrouping 中,禁用时可以正常工作:http: //jsfiddle.net/34tfg/1/

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

代码:

    plotOptions: {
        line: {
            dataGrouping: {
                enabled: false
            },
            turboThreshold: 10000
        }
    },
于 2013-06-26T09:09:57.393 回答