如何动态更改jqplot渲染器?

时间:2011-08-27 06:36:56

标签: jquery jqplot

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

我找到了一个关于此的链接:http://groups.google.com/group/jqplot-users/browse_thread/thread/efe6511cd9496f16/5c625baf78d3b0ae但似乎我仍然需要再次调用$ .jqplot()。

有更好的方法吗?还有一个小问题:它只是我,还是关于jqplot的文档很糟糕?我必须通过多个地方来查找我想要的选项(有时,该选项没有记录,或者我无法以某种方式找到它)。你如何学习如何使用jqplot?

1 个答案:

答案 0 :(得分:5)

我认为文档是可以的,但你会发现它内部的隐藏功能或没有记录的怪癖。 IIRC(已经有一段时间了)你将不得不再次调用$ .jqplot(),但你首先需要.empty()你的目标,否则你会得到额外/混乱的画布。

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

//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]);