自动调整动态添加值的图表

时间:2012-07-12 13:31:42

标签: java jfreechart

我使用这种方法创建一个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。是否可以在运行时自动调整图形?

1 个答案:

答案 0 :(得分:4)

调用valueaxis.setRange(0.0D, 100D)会将自动范围标志设置为false。要使范围在valueaxis.setAutoRange(true)

之后(或代替)valueaxis.setRange(0.0D, 100D)

自动更新来电valueaxis

在您的示例中,您重复使用DomainAxis同时保留RangeAxis XYPlot plot = (XYPlot) result.getPlot(); ValueAxis domainAxis = plot.getDomainAxis(); domainAxis.setAutoRange(true); domainAxis.setFixedAutoRange(60000.0); ValueAxis rangeAxis = plot.getRangeAxis(); rangeAxis.setAutoRange(true); 。此代码自动调整两个轴的范围:

{{1}}