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 に答える