JFreeChart:向DynamicTimeSeriesCollection添加多个系列并正确更新它们

时间:2015-10-14 11:11:09

标签: java jfreechart

我有一个用JFreeChart制作的动态实时图表。我的问题是:
如何将多个系列添加到 DynamicTimeSeriesCollection 并正确更新它们,因为我的绘图中需要3行/ 系列 /具有不同的颜色。 ?

这是我的代码:

    dataset = new DynamicTimeSeriesCollection(1, 200, new Second());
    dataset.setTimeBase(new Second(0, 0, 0, 23, 1, 2014));
    //Add series
    dataset.addSeries(new float[1], 0, "key1");

一切正常,直到我用不同的密钥添加第二个系列:

 dataset.addSeries(new float[1], 0, "key2");

问题在于我的

dataset.advanceTime();
dataset.appendData(newData);

方法不知道要引用哪个系列,因为它们不采用像系列键这样的参数,例如。

1 个答案:

答案 0 :(得分:1)

添加系列并使用第二个参数作为键:

dataset.addSeries(new float[1], 0, "X");
dataset.addSeries(new float[1], 1, "Y");
dataset.addSeries(new float[1], 2, "Z");

使用系列中的键集作为float数组中的一个位置。

public void update(float valueX, float valueY , float valueZ) {
    float[] newData = new float[3];
    newData[0] = valueX;
    newData[1] = valueY;
    newData[2] = valueZ;
    dataset.advanceTime();
    dataset.appendData(newData);
}