java - JFreeChart 使 XYSeriescollection 可迭代

标签 java jfreechart iterable

背景信息

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

实际问题

我注意到我无法迭代XYSeriesCollection,这表明该类本身没有实现可迭代。我想我可以修改原始文件来实现该接口(interface),但我有点担心,因为 JFreechart 似乎是一个很棒的库,所以也许有一个很好的理由为什么没有完成实现?

摘要:

可以修改代码吗?安全吗?有人尝试过吗?它会导致库中出现一些问题吗?

是否有比编辑源(某种覆盖)更好的方法来添加行为?

不同的方法怎么样?我并不坚持我的解决方案,但是我无法更改输入数据,并且无法提前了解有关它的任何信息,除了它会在某个时刻到达并且具有相同的格式 (因为它是我知道的类的对象)

最佳答案

XYSeriesCollection#getSeries()返回 ListIterable .

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

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

关于java - JFreeChart 使 XYSeriescollection 可迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30759647/

相关文章:

java - 2 个不同的 Json 对象作为响应打印,如何将它们分开并读取第二个对象中元素的值

java - 如何使用 JFreeChart 固定自动范围避免负值

time-series - 清除系列并将其他系列保留在 JFreeChart 中

javascript - javascript中可迭代的格式是什么

java - Android Studio 0.8.10资源问题

java - 当将一个函数作为另一个函数内的参数发送时,我是否采用第一个功能键(同步)

java - Android Intent/IntentService 的空指针异常

java - 在 JFreeChart 中使用 JTextField 更新正态分布图

string - 如何使用迭代器确定两个字符串在函数式风格中是否只有一个不同的字符?

python - 类型错误 : writelines() requires an iterable argument