繁体   English   中英

如何正确使用JFreeChart自动量程?

[英]How do I use JFreeChart auto ranges properly?

我在创建的图形上为y轴手动创建了一个范围,但是看到有一些属性指示JFreeChart可以为您生成它们。

它已经为y轴生成了一个有意义的最大值,但是无论我尝试做什么,我都无法在生成图形时真正考虑到setAutoRangeIncludesZero(boolean)

以下是生成和处理图形的相关代码:

barChart = ChartFactory.createBarChart("Classifiers' accuracy for " + position + "s", 
           "Missing Value Imputation Method Combination", 
           "Average accuracy (%)", dataset, 
           PlotOrientation.VERTICAL, true, false, false);

plot = (CategoryPlot)barChart.getCategoryPlot();
xAxis = (CategoryAxis)plot.getDomainAxis();
xAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45);

yAxis = (NumberAxis)plot.getRangeAxis();
yAxis.setAutoRangeIncludesZero(false);

barChartImage = new File(position + "-Classification" + ".png");

我还尝试过先使用setAutoRange(true)将y轴作为ValueAxis ,然后将y轴转换为NumberAxis并使用setAutoRangeIncludesZero(false)

每次,y轴仍从0开始。

感谢@doublep在私人聊天中的回答。

我使用的是BarChart,默认情况下将BarRenderer设置为0。要覆盖此范围,只需从绘图对象获取渲染器并将其转换为BarRenderer类型,然后调用setIncludeBaseInRange(false) ,这将防止将默认值0包含在范围内。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM