javascript - Highcharts 中长系列的奇怪工具提示行为

标签 javascript jquery highcharts

我正在将 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 的链接。

感谢所有帮助!

最佳答案

问题出在数据分组中,禁用后可以正常工作:http://jsfiddle.net/34tfg/1/

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

代码:

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

关于javascript - Highcharts 中长系列的奇怪工具提示行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17305975/

相关文章:

php - if isset SESSION 显示 div

jquery - 使用 jquery AND 规则进行动态表单字段验证

javascript - 江青手机 : Calling a function with Multiple Parameters from a Listview

javascript - Highchart 图问题

javascript - 以 javascript 格式获取当前日期和时间 : 2015-03-01 03:09:03

javascript - Sequelize : "Model has not been defined" when relationship across multiple databases

highcharts - 如何根据OPEN/CLOSE值在烛台上应用自定义颜色?

javascript - 在 iframe 中加载 Highcharts

javascript - 使用 JavaScript 让函数在经过一定时间后运行?

c# - 通过提交按钮传递值?