Joh*_*ann 10 java refresh jfreechart
如果我们想要改变"实时"某些数据,我想知道如何刷新图表.我的意思是,例如,我有一个带有TaskSeries的图表,该图表出现在3年后我希望将3年改为5年.我希望图表立即改变.
是否有某种更新图表或类似的东西?
我知道您可以说"获取您的TaskSeries,进行更改并自动刷新",但我的TaskSeries已生成,我无法轻易更改这些.这就是为什么我想找到一种重新计算和重建整个图表的方法.
所述add()的方法TaskSeries自动发送SeriesChangeEvent到所有注册的监听器,例如CategoryPlot.在这个例子中,DynamicTimeSeriesCollection实现SeriesChangeEvent.在这种情况下,图表XYPlot是注册的监听器.
小智 5
XYPlot也有这个问题.我通过重置数据集找到了一种解决方法:
chart.getXYPlot().setDataset(chart.getXYPlot().getDataset());
Run Code Online (Sandbox Code Playgroud)
这很疯狂,但它有效......
注意:chart.setNotify(true)似乎什么都不做.
我还没有找到一种简单的方法来“实时”更新 JFreeChart,因为 jfreechart 的数据结构与我的数据结构非常不兼容。因此,我构建了自己的 redraw() 方法,该方法从我的 dataModel 收集数据,构建 JFreeChart dataModel 并设置新的图表。
这给人一种“实时”更新的感觉,而且非常难看。
| 归档时间: |
|
| 查看次数: |
27653 次 |
| 最近记录: |