0

私は jfreechart の初心者で、うまく機能する単純な棒グラフを作成するアプリを持っています。問題は、すべてのグラフに 1 から 10 の範囲を表示することです。グラフの最大値がそれより低い場合、その低い値がグラフの上限になり、さまざまな増分で表示されます。それをどこで変更するかは、オンラインのメモから私には明らかではありませんでした....

DefaultCategoryDataset barDataSet = new DefaultCategoryDataset();
System.out.println("Setting values:");

barDataSet.setValue(rating.getFlavor(), "category", "Flavor");
barDataSet.setValue(rating.getBody(), "category", "Body");
barDataSet.setValue(rating.getAftertaste(), "category", "Aftertaste");
barDataSet.setValue(rating.getSweetness(), "category", "Sweetness");
barDataSet.setValue(rating.getFloral(), "category", "Floral");
barDataSet.setValue(rating.getSpice(), "category", "Spice");


JFreeChart chart = ChartFactory.createBarChart(null, // title
"category",     // left heading
"score",        // top heading
barDataSet,     // dataset
PlotOrientation.HORIZONTAL, 
false,      // no idea what this is
true,       // or this
false);     // or this

System.out.println("setting bg color");
Color bgcolor = new Color(237, 232, 228);
chart.setBackgroundPaint(bgcolor);

CategoryPlot plot = chart.getCategoryPlot();
plot.setBackgroundPaint(new Color(112,112,112) );

ありがとう、bp

4

2 に答える 2

3

軸を介して表示範囲を変更できます。私の記憶が正しければ、ドメイン (x) 軸と範囲 (y) 軸を持つ XYPlot の JFreeChart インスタンスを要求できます。両方 (NumberAxis のインスタンスの場合) には setLowerBound(double) および setUpperBound(double) メソッドがあります。

于 2012-08-20T21:10:20.423 に答える
1
chart.getXYPlot().getRangeAxis().setLowerBound(30.0);
chart.getXYPlot().getRangeAxis().setUpperBound(300.0);
于 2016-11-28T21:13:39.850 に答える