Java 当数据连续出现时,如何使用jfreechart绘制图形

Java 当数据连续出现时,如何使用jfreechart绘制图形,java,swing,jfreechart,Java,Swing,Jfreechart,我想画一个线图,其中数据是动态的。假设每秒钟我都有一组新的值,这些值将在包含以前值的现有图形中绘制。时间序列图提供了这种机制,但它需要将时间作为参数之一。但是,时间对我来说不是一个变量。如何使用连续传入的数据不断更新此折线图。您可以 为每个新数据点传递递增的值。或者,您可以查看DynamicMiseriesCollection的源代码,看看它们是如何使其成为动态的。这导致: 似乎如果您创建自己的数据类型来扩展org.jfree.data.general.Series类,那么在进行任何更改时,您都

我想画一个线图,其中数据是动态的。假设每秒钟我都有一组新的值,这些值将在包含以前值的现有图形中绘制。时间序列图提供了这种机制,但它需要将时间作为参数之一。但是,时间对我来说不是一个变量。如何使用连续传入的数据不断更新此折线图。

您可以

  • 为每个新数据点传递递增的值。或者,您可以查看DynamicMiseriesCollection的源代码,看看它们是如何使其成为动态的。这导致:

  • 似乎如果您创建自己的数据类型来扩展
    org.jfree.data.general.Series
    类,那么在进行任何更改时,您都可以调用
    fireSeriesChanged
    ,这将触发图形的更新

  • 当我阅读图书馆时,我看到了更多的选择。您是否尝试过
    XYSeries
    ,它有一个名为add()的方法,我检查了它调用此方法触发更改侦听器通知的源代码。因此,对于您的案例,使用这个类应该足够了


  • 你能详细说明一下每一秒和时间之间的明显矛盾吗?请编辑您的问题,以包括显示代表性数据和所选图表类型的。我可以使用add()方法将新数据添加到XY系列。但我的疑问是,每次修改XY系列中的数据时,是否需要将XY系列添加到XY系列集合中。如果我们这样做,它会抛出一个错误,说明给定名称的XY系列已经存在。那么,应该怎么做才能继续向XY系列添加数据,然后更新XY系列集合中现有的XY系列。@chaitu我认为您不需要将
    XYSeries
    添加到
    XYSeriesCollection
    。对XYSeries的任何更改都应使用机制进行传播。