可能重复:
Using JFreeChart to display recent changes in a time series
在询问之前,我一直在寻找有关我对JfreeChart的担忧的信息,但我一直无法提出解决方案,很抱歉,如果这个问题已经发布了。
我编写了一个应用程序,它从无线传感器设备接收实时信息( n 读数每秒从温度传感器读取)。为了绘制这些信息,我使用了JFreeChart库,特别是DinamicTimeSeriesCollection类。
根据这个类的功能:“这个类的目标是实时应用程序,我们有能力以非常快的方式附加新数据并丢弃最旧的数据(取决于您的输入数据)”(检索到来自JfreeChart: Scroll XYBarChart Horizontally - (chart translation and navigation)),我需要的是不要丢弃已经绘制的信息。我已经看到我可以通过添加一个JSlider来水平滚动图形,因为它在前面提到的url中显示。但是,我看不到旧的值(主要是因为它们已被替换)。
我不确定我是否正在使用正确的类,如果有另一个像JfreeChart这样的库使绘图图“变得容易”,或者即使有任何技巧或方法来保留旧值。
非常感谢你的时间。所有的帮助将不胜感激。
此致
大卫
答案 0 :(得分:0)
一种好的方法是将从设备接收的值存储在2D列表中(表示x,y坐标),并将这些点传递给JFreeChart,以便在每次接收到新值时进行绘制。至于平移,您可以使用JFreeChart.getXYPlot().get[Domain/Range]axis.set[Upper/Lower]Bounds(double value)