使用Java和JFreeChart修改已构建图表的数据集

时间:2011-08-23 16:27:46

标签: java dataset jfreechart

假设我使用以下代码生成了一个图表:

private ChartPanel createChart(){
        XYSeries series1 = new XYSeries("First");
        XYSeries series2 = new XYSeries("Second");
        XYSeries series3 = new XYSeries("Third");

        series1.add(0.0, 5.5);
        series1.add(5, 10);
        series1.add(10, 5.5);

        series2.add(0.0, 2);
        series2.add(5, 2);
        series2.add(10, 7);

        series3.add(0.0, 10);
        series3.add(5, 5);
        series3.add(10, 6);

        XYSeriesCollection dataset = new XYSeriesCollection();

        dataset.addSeries(series1);
        dataset.addSeries(series2);
        dataset.addSeries(series3);

        JFreeChart chart = ChartFactory.createXYLineChart("line chart example",
                "X", "Y", dataset, PlotOrientation.VERTICAL, true, true, false);
        ChartPanel chartPanel = new ChartPanel(chart);
        chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));
        return chartPanel;
    }

现在我想修改以前在XYSeries中插入的值而不构建另一个图表(没有其他调用createXYLineChart),并使图表自动更新。

这是怎么做到的?

1 个答案:

答案 0 :(得分:1)

只需查看api

有许多不同的方法,具体取决于您是否知道系列中元素的索引,或者您是否知道x值,但想要更改y值。 我假设图表将被重绘,因为所有方法都抛出了一个SeriesChangeEvent。