我正在尝试将XYBarChart
和普通XYPlot
合并到CombinedDomainXYPlot
中。域轴是DateAxis()
,允许我绘制时间序列。
对于XYPlots
,我可以使用以下方法动态添加数据点:
[XYSeries].add(time, value);
然而,对于XYBarChart
,我正在使用JFreeChart的DefaultIntervalXYDataSet
。对于此类,添加数据系列的方法如下:
addSeries(java.lang.Comparable seriesKey, double[][] data)
添加一个系列,或者如果已存在具有相同键的系列,则替换该系列的数据,然后将DatasetChangeEvent发送给所有已注册的侦听器。
显然,参数double[][] data
不允许对数据进行动态更改,因为我不能简单地将新数据点添加到系列本身。有没有办法动态地向XYBarChart
添加数据点?或者我是否必须在每次更新中替换完整的double[][]
?
最终,我的目标是动态添加条形和为这些条形图添加动态颜色。
答案 0 :(得分:2)
使用org.jfree.data.xy.XYIntervalSeriesCollection的实例。此数据集实现IntervalXYDataset接口,并允许动态添加更多数据项。 DefaultIntervalXYDataSet和XYIntervalSeriesCollection之间的关系类似于DefaultXYDataset和XYSeriesCollection之间的关系。