3
程序將每秒接收一次數據並在時間系列圖表上繪製它們。但是,一旦我創建了兩個系列,我不能爲它增加新的價值。它只顯示一條直線。將值添加到DynamicTimeSeriesCollection中的指定系列
如何將數據追加到指定的系列?即YYY
。在此基礎上example,這裏是我在做什麼:
...
// Data set.
final DynamicTimeSeriesCollection dataset =
new DynamicTimeSeriesCollection(2, COUNT, new Second());
dataset.setTimeBase(new Second(0, 0, 0, 1, 1, 2011));
dataset.addSeries(gaussianData(), 0, "XXX");
dataset.addSeries(gaussianData(), 1, "YYY");
// Chart.
JFreeChart chart = createChart(dataset);
this.add(new ChartPanel(chart), BorderLayout.CENTER);
// Timer.
timer = new Timer(1000, new ActionListener() {
@Override
public void actionPerformed (ActionEvent e) {
dataset.advanceTime();
dataset.appendData(new float[] { randomValue() });
}
});
...
private JFreeChart createChart (final XYDataset dataset) {
final JFreeChart result = ChartFactory.createTimeSeriesChart(
TITLE, "", "", dataset, true, true, false);
final XYPlot plot = result.getXYPlot();
ValueAxis domain = plot.getDomainAxis();
domain.setAutoRange(true);
ValueAxis range = plot.getRangeAxis();
range.setRange(-MINMAX, MINMAX);
return result;
}
+1進行說明。 – trashgod 2013-03-20 11:38:49