1

我使用这种方法创建了一个 JFreeChart 对象:

private JFreeChart createChart(XYDataset xydataset)
    {
        jfreechart = ChartFactory.createTimeSeriesChart("Server Throughtput", "Time", "Bytes/s", xydataset, true, true, false);
        XYPlot xyplot = (XYPlot) jfreechart.getPlot();
        ValueAxis valueaxis = xyplot.getDomainAxis();
        valueaxis.setAutoRange(true);
        valueaxis.setFixedAutoRange(60000D);
        valueaxis = xyplot.getRangeAxis();
        valueaxis.setRange(0.0D, 100D);

        return jfreechart;
    }

图表会自动更新。我设置为最大值 100D。一段时间后收到的值超过 100D。如何在运行时自动调整图表?

4

1 回答 1

5

调用valueaxis.setRange(0.0D, 100D)将自动范围标志设置为 false。使范围valueaxis.setAutoRange(true)在(或代替)之后自动更新调用valueaxis.setRange(0.0D, 100D)

在您的示例中,您正在重用valueaxis来保存DomainAxisRangeAxis。此代码自动范围两个轴:

        XYPlot plot = (XYPlot) result.getPlot();
        ValueAxis domainAxis = plot.getDomainAxis();
        domainAxis.setAutoRange(true);
        domainAxis.setFixedAutoRange(60000.0);  
        ValueAxis rangeAxis = plot.getRangeAxis();
        rangeAxis.setAutoRange(true);
于 2012-07-12T14:50:36.157 回答