如何动态更改jqplot渲染器?

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

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

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

我认为文档是可以的,但你会发现它内部隐藏的function或没有记录的怪癖。 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]);