JfreeChart:水平滚动图表并查看旧值

时间:2012-07-19 18:00:09

标签: graph scroll jfreechart

  

可能重复:
  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这样的库使绘图图“变得容易”,或者即使有任何技巧或方法来保留旧值。

非常感谢你的时间。所有的帮助将不胜感激。

此致

大卫

1 个答案:

答案 0 :(得分:0)

一种好的方法是将从设备接收的值存储在2D列表中(表示x,y坐标),并将这些点传递给JFreeChart,以便在每次接收到新值时进行绘制。至于平移,您可以使用JFreeChart.getXYPlot().get[Domain/Range]axis.set[Upper/Lower]Bounds(double value)

手动设置窗口