背景资料
我想创建一个准动态数据集,其中包含几个在一定程度上共享同一时间范围的不同数据系列。由于我不知道何时可能需要一个新系列或一个旧系列何时更新,因此我正在制定一种方法,以通用条目作为名称,时间,分数来将其绘制为图表。
实际问题
我注意到我不能通过XYSeriesCollection
进行迭代,这表明类本身并不实现可迭代。我想我可以修改原始文件以实现该接口,但是由于JFreechart似乎是一个很棒的库,我有点担心,所以也许有一个很好的理由说明为什么不执行该实现?
摘要:
修改代码是否可以-安全,有人尝试过吗,会在库中引起某些问题等吗?
有没有比编辑源(一种替代方法)更好的方式来添加行为?
那不同的方法呢?我对解决方案并不固执,但是我无法更改输入数据,也无法事先了解任何信息,除了它会到达某个点并且具有相同的格式(因为它是对象的对象)我知道的课程)
最佳答案
XYSeriesCollection#getSeries()
返回List
的Iterable
。
XYSeriesCollection dataset = new XYSeriesCollection(…);
List<XYSeries> list = dataset.getSeries();
for (XYSeries s : list) {
//alter s as desired
}
请注意,
Collection
的返回值不可修改,但是您可以单独更改元素。使用XYSeriesCollection
API更改list
本身。