每当将新数据点添加到jfreechart中的现有数据集时,如何自动更新/重绘xy折线图

时间:2012-10-08 04:31:02

标签: java swing jfreechart linechart

我有一个场景,数据(x和y坐标)都是动态的。我必须从收到第一点时开始绘制图表。因此,每当有新的数据点进入时,图形应该自动更新。这应该持续一段时间(注意:这里x和y坐标都是双变量,时间根本不被视为变量。我们不知道数据何时进入)。在将数据点添加到现有数据集后,我尝试重绘总图。它运作成功。但我发现它有一个缺陷。我有一个数据集(比如在特定时间t)按以下顺序{(1,1)(2,3)(3,5)(4,7)(2.5,1)}。该图应该有一条从点(4,7)到(2.5,1)的直线。但是点(2.5,1)从(2,3)和(3,5)连接,我不想要。因此,无论何时出现新数据点,请建议任何自动更新图表的方法。

1 个答案:

答案 0 :(得分:1)

假设您使用的是XYSeries,您尝试关闭排序

private static XYDataset createDataset() {
  XYSeries dataset = new XYSeries("A",false,true);
  dataset.add(1,1);
  dataset.add(2,3);
  dataset.add(3,5);
  dataset.add(4,7);
  dataset.add(2.5,1);
  XYSeriesCollection ds = new XYSeriesCollection();
  ds.addSeries(dataset);
  return ds;
} 

你可以创建一个这样的图表:

enter image description here