我是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的
答案 0 :(得分:2)
您可以通过轴更改显示的范围。如果我没记错,您可以向JPreeChart实例询问XYPlot,其中包含域(x)和范围(y)轴。两者(当NumberAxis的实例)将具有setLowerBound(double)和setUpperBound(double)方法。
答案 1 :(得分:1)
chart.getXYPlot().getRangeAxis().setLowerBound(30.0);
chart.getXYPlot().getRangeAxis().setUpperBound(300.0);