背景资料

我想创建一个准动态数据集,其中包含几个在一定程度上共享同一时间范围的不同数据系列。由于我不知道何时可能需要一个新系列或一个旧系列何时更新,因此我正在制定一种方法,以通用条目作为名称,时间,分数来将其绘制为图表。

实际问题

我注意到我不能通过XYSeriesCollection进行迭代,这表明类本身并不实现可迭代。我想我可以修改原始文件以实现该接口,但是由于JFreechart似乎是一个很棒的库,我有点担心,所以也许有一个很好的理由说明为什么不执行该实现?

摘要:

修改代码是否可以-安全,有人尝试过吗,会在库中引起某些问题等吗?

有没有比编辑源(一种替代方法)更好的方式来添加行为?

那不同的方法呢?我对解决方案并不固执,但是我无法更改输入数据,也无法事先了解任何信息,除了它会到达某个点并且具有相同的格式(因为它是对象的对象)我知道的课程)

最佳答案

XYSeriesCollection#getSeries()返回ListIterable

XYSeriesCollection dataset = new XYSeriesCollection(…);
List<XYSeries> list = dataset.getSeries();
for (XYSeries s : list) {
    //alter s as desired
}


请注意,Collection的返回值不可修改,但是您可以单独更改元素。使用XYSeriesCollection API更改list本身。

10-04 17:53