2012-07-23 81 views
0

我有充满jqPlot(其中6个)的仪表板,它们主要通过时间戳或日期或位置工作。jqPlot筛选选项

是否有jqPlot一个选项,让我过滤按日期或位置?某种形式的下拉菜单在连接到图表,并从JSON提要数据顶部。并且示例或起始链接会有帮助。

谢谢。

回答

0

有几种方法可以做到这一点。

所有jqplot首先有一个datarenderer,这使得剧情已经绘就后你获得通过功能数据(其中可能有一个Ajax调用) http://www.jqplot.com/deploy/dist/examples/data-renderers.html 如果您想更改数据,你需要调用一个重新绘图。 http://www.jqplot.com/docs/files/jqplot-core-js.html#jqPlot.replot

你也可以加载所有的数据,并有几个预设的缩放选项或类似的东西。 我见过它的例子,但我找不到一个快速。

对于位置图,我会尝试显示/隐藏不同的系列。我敢肯定,这个选项在图例中是可用的,所以我会试着去捕捉那个事件。 http://www.jqplot.com/docs/files/plugins/jqplot-enhancedLegendRenderer-js.html 如果您尝试$('td.jqplot-table-legend:first')。click();在您的控制台http://www.jqplot.com/deploy/dist/examples/blockPlot.html你会得到想法

+0

谢谢我已经使用了一些obove的帮助,但主要是我已经使用ajax调用数据库,我已经创建了一个绘图函数,为我做了..但我仍然保持previuos图表并绘制在它的顶部。我试过.empty和.destroy,但它不喜欢它..你知道这件事吗? – Alborz 2012-07-24 15:37:22

+0

我不知道你的'draw'函数是做什么的。我怀疑它创造了一个新的阴谋。你可以通过彻底摧毁旧的情节来“更新”,并画出一些新的东西,但这不是要走的路。您应该创建一个更新函数来加载新数据,更改选项,然后调用重新绘制。没有你的代码,这是一个猜测你出错的地方... – Jeroen 2012-07-24 19:47:00

+0

谢谢,我设法通过定义不同的函数并删除以前的图表并使用新的数据重新绘制它。 – Alborz 2012-07-25 08:42:00