JFreeChart使XYSeriescollection可迭代

时间:2015-06-10 14:41:11

标签: java jfreechart iterable

背景信息

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

实际问题

我注意到我无法遍历XYSeriesCollection,这表明类本身不实现可迭代。我想我可以修改原始文件来实现接口,但我有点担心,因为JFreechart似乎是一个很棒的库,所以也许有充分的理由说明为什么没有完成实现呢? / p>

摘要:

修改代码是否可以 - 是否安全,是否有人尝试过,是否会导致库中的某些问题等?

是否有更好的方法来添加行为而不是编辑源,覆盖一种?

不同方法怎么样?我并不坚持使用我的解决方案,但是我无法改变输入数据并且无法事先了解它,除非它会在某个时刻到达且格式相同 (因为它是我所知道的课程的对象)

1 个答案:

答案 0 :(得分:1)

XYSeriesCollection#getSeries()返回List Iterable

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

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