jquery - 如何动态更改jqplot渲染器?

标签 jquery jqplot

基本上,我希望用户能够通过单击下拉菜单来更改图形的类型:BarRenderer、PieRenderer 等。数据是相同的。我知道我可以在同一元素上再次调用 $.jqplot() ,但随后我必须再次传递所有设置。而且我的页面有数量可变的图表,这使得该选项成为一个非常糟糕的选择。

我找到了一个关于此的链接:http://groups.google.com/group/jqplot-users/browse_thread/thread/efe6511cd9496f16/5c625baf78d3b0ae但看来我还是得再次调用 $.jqplot() 。

有更好的方法吗?还有一个小问题:是我一个人这样,还是 jqplot 上的文档很糟糕?我必须浏览多个地方才能找到我想要的选项(有时,该选项没有记录,或者我以某种方式找不到它)。如何学习如何使用 jqplot?

最佳答案

我认为这些文档还不错,但是您会发现其中隐藏的功能或未记录的怪癖。 IIRC(已经有一段时间了)你将不得不再次调用 $.jqplot() 但你首先需要 .empty() 你的目标,否则你会得到额外的/困惑的 Canvas 。

您真正需要做的是保存数据并允许稍后调用:

//This isn't real jqplot syntax but it should give you a good idea of what I'm explaining

var charts = [{name:"chart1",renderer:"pie",data:[[1,2],[2,3]]}]
$('#graph').jqplot(charts[0]);

//later
charts[0].renderer = "bar";
$('#graph').empty().jqplot(charts[0]);

关于jquery - 如何动态更改jqplot渲染器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7212922/

相关文章:

jquery - jqplot轴刻度标签带省略号

javascript - 如何用 jqplot 绘制系列的子集?

jQuery JSON .each 错误

javascript - 根据字符串内容中的@number 对字符串数组进行排序

javascript - jquery-在键盘上按下后续按钮时将文本输入到文本框/文本区域

jquery - Jqplot formatString 用于将轴刻度从千转换为 K

jqplot - 当数据点最大时不显示点标签

php - 提交表单时未调用成功函数

javascript - Django 项目中基于 CSRF token AJAX 的帖子

javascript - 在小尺寸 div 容器中绘制 jqPlot 条形图