我正在研究一个接收传感器数据的主机并绘制它。(移动加速度计)。
我知道如何使服务器工作,我甚至使用带有Swing的JFreeChart创建了带有示例数据的UI。
由于我第一次使用JFreeChart
,我不知道如何将新数据从流添加到我的图表中,并刷新它。
我有一个扩展JFrame
的MainWindow类,并且在构造函数中有每个初始化。
我使用Controller类来启动UI,我想使用此Controller类将新数据添加到图表中。
我已经尝试过使用XYLineChart的ChartPanel,但在这种情况下,在将帧添加到contentPane
后,我无法将新项添加到绘图中。
我还尝试过TimeSeries,它们无法在一秒钟内添加数据,因为SensorSeries.add()
期望Second
,并且从流中我得到的数据更新。
你能帮我解决这两个问题或其他解决方案吗?
答案 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效果:当你问某人一个愚蠢的问题时,你会更快地弄明白:)