带有DefaultIntervalXYDataset()的动态XYBarChart

时间:2015-08-11 19:50:40

标签: java jfreechart

我正在尝试将XYBarChart和普通XYPlot合并到CombinedDomainXYPlot中。域轴是DateAxis(),允许我绘制时间序列。

对于XYPlots,我可以使用以下方法动态添加数据点:

[XYSeries].add(time, value);

然而,对于XYBarChart,我正在使用JFreeChart的DefaultIntervalXYDataSet。对于此类,添加数据系列的方法如下:

  

addSeries(java.lang.Comparable seriesKey, double[][] data)

     

添加一个系列,或者如果已存在具有相同键的系列,则替换该系列的数据,然后将DatasetChangeEvent发送给所有已注册的侦听器。

显然,参数double[][] data不允许对数据进行动态更改,因为我不能简单地将新数据点添加到系列本身。有没有办法动态地向XYBarChart添加数据点?或者我是否必须在每次更新中替换完整的double[][]

最终,我的目标是动态添加条形为这些条形图添加动态颜色。

1 个答案:

答案 0 :(得分:2)

使用org.jfree.data.xy.XYIntervalSeriesCollection的实例。此数据集实现IntervalXYDataset接口,并允许动态添加更多数据项。 DefaultIntervalXYDataSet和XYIntervalSeriesCollection之间的关系类似于DefaultXYDataset和XYSeriesCollection之间的关系。