首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何用jQuery和jQplot制作图表动画(更新数据)

如何用jQuery和jQplot制作图表动画(更新数据)
EN

Stack Overflow用户
提问于 2011-07-20 19:21:46
回答 1查看 6K关注 0票数 6

随着时间的推移,我通过更改数据和重新绘制图表来“动画”图表。

代码语言:javascript
运行
复制
// initialization
var data = ...
var targetPlot = $.jqplot('#diagram', data, diagramOptions);

现在,在一段时间后,我将以某种方式更改数据,并希望更新图表。以下解决方案有效:

代码语言:javascript
运行
复制
// update Data
targetPlot.data = ...;
// remove old diagram
$('#<%= "diagram" + diagram.id.to_s %>container').empty();
// redraw
targetPlot = $.jqplot('#diagram', data, diagramOptions);

这是一个完全的重绘。由于有大量的数据和很短的时间间隔,jQPlot占用了大量的内存,并且图表闪烁不定。

如何正确地做到这一点呢?

对于我来说,使用redraw function的解决方案只绘制了旧的图表:

代码语言:javascript
运行
复制
// update Data
targetPlot.data = ...;
targetPlot.redraw();
EN

Stack Overflow用户

回答已采纳

发布于 2011-07-26 16:54:10

这是我经过大量调查后发现的方法。我写下这篇文章是为了帮助阅读这个问题的人。

更新数据的正确位置在系列属性中,更新数据后可以重新绘制绘图:

代码语言:javascript
运行
复制
targetPlot.series[0].data = myData;
targetPlot.redraw();

如果轴发生更改,则可以使用replot()而不是redraw()重新缩放它们

代码语言:javascript
运行
复制
targetPlot.replot({resetAxes:true});

这比每次重新绘制新图要快得多。

票数 15
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6761088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档