来自流的JFreeChart和传感器值

时间:2014-05-13 14:37:00

标签: java swing jfreechart

我正在研究一个接收传感器数据的主机并绘制它。(移动加速度计)。

我知道如何使服务器工作,我甚至使用带有Swing的JFreeChart创建了带有示例数据的UI。

由于我第一次使用JFreeChart,我不知道如何将新数据从流添加到我的图表中,并刷新它。 我有一个扩展JFrame的MainWindow类,并且在构造函数中有每个初始化。 我使用Controller类来启动UI,我想使用此Controller类将新数据添加到图表中。

我已经尝试过使用XYLineChart的ChartPanel,但在这种情况下,在将帧添加到contentPane后,我无法将新项添加到绘图中。 我还尝试过TimeSeries,它们无法在一秒钟内添加数据,因为SensorSeries.add()期望Second,并且从流中我得到的数据更新。

你能帮我解决这两个问题或其他解决方案吗?

1 个答案:

答案 0 :(得分:0)

我很快意识到这一点,如果有人需要,我会分享解决方案:

您可以使用Millisecond类添加到感应器中。在某些情况下,数据会更快,因此使用addOrUpdate方法更安全。

这也是一个很好的做法,设置轴心格式,并显示范围:

sensorSeries.setMaximumItemAge(20000);

范围

XYPlot plot = chart.getXYPlot();
DateAxis axis = new DateAxis();
plot.setDomainAxis(axis);
axis.setDateFormatOverride(new SimpleDateFormat("mm:ss.S"));

格式。

感谢Stackoverflow的Murphy效果:当你问某人一个愚蠢的问题时,你会更快地弄明白:)