我试图在Highcharts朝阳中添加一个动态图例(如饼图)。下面的代码正是我所需要的:https://jsfiddle.net/BlackLabel/x2hL8tqo/
我的问题是,当我有很多数据(近500点),浏览器挂起时,我在图例中的一个项目点击。你可以在这里看到演示(点击后等待一分钟,然后对Chrome警报回答“是”以查看结果):https://jsfiddle.net/vegaelce/py5q7ozv/
更新功能似乎是瓶颈:
p.update({
oldValue: p.value ? p.value : p.oldValue,
value: p.value ? null : p.oldValue
});
有没有什么方法可以优化代码,让函数处理大量数据?
谢谢.
1条答案
按热度按时间jhdbpxl91#
legendItemClick
逻辑在每次点编辑后都会重新绘制(这是默认设置)。这会导致延迟/挂起。如果您使用update(options [, redraw] [, animation])
(API)的第二个参数不重绘单个更新,而是在所有更新后从图表中重绘,那么应该会快得多。示例编辑
legendItemClick
:请注意
point.update
如何使用false
进行重绘。以this JSFiddle为例。如果你想要一个有变化的动画,你可以将
chart.redraw
的参数设置为true
。