1

我的需要是绘制几条线的基本 x 轴、y 轴图,随着用户输入数据,这些线会按顺序排列。jqPlot 似乎有能力(与 flot 不同,至少据我所知)添加到现有的情节中。到目前为止,我的实验是:

$.jqplot('dpCum',[ld.fCumPairFwd[0]],{axes:{xaxis:{min:0,max:2500},yaxis:{min:0,max:200000}}});
$.jqplot('dpCum',[ld.fCumPairAft[0]],{axes:{xaxis:{min:0,max:2500},yaxis:{min:0,max:200000}}});

它产生了我想要的两条线,除了第二条的背景遮住了第一条线。在实践中,直到用户对第一行做出响应时才会知道第二行的数据,然后他们会想同时查看两者。

我已经在 jqplot 文档中进行了几次传递(它的功能显然令人印象深刻),但是如何在添加新行时保持现有行可见让我无法理解。我在想可能存在某种 z 轴不透明度,但还无法理解。

4

1 回答 1

1

我相信,您的问题的答案是使用该replot()方法并使用修改后的数据集绘制一个新图。

以下示例中介绍了这种方法。请注意,我只制作了索引为 0 的系列以响应点击。单击该系列的数据点时,会绘制另一个数据点。


编辑:我去的原因replot()是我不知道如何只画一个系列。我在这里尝试了@Mark 提出的方法,但没有成功。不过他可能知道得更好。我对jqPlot自己比较新鲜。还考虑到当我们添加一个新系列时,一些点可能会超出当前比例,因此,由于redraw()jqPlot 作者在此处提到的不会重新缩放- 尽管在我的情况下它会工作,因为我们重新初始化了图形。因此,我认为如果您也无法应用单系列绘制,您可以尝试使用该redraw()方法,从文档中获取我认为调用的成本较低。

也许实际上在这种情况下您不会使用replot()or redraw(),就像在示例中我每次都制作一个新图一样。因此,在我看来,destroy()在绘制新图之前调用上一张图更合适。这是当前代码示例中的内容。

于 2012-06-19T10:15:29.707 回答