我有一个水平条形图。我想这样做的原因是,我只显示域的标签,而不显示范围,因为我已经在每个小节的末尾显示了其确切值的标签。这是条形图当前的样子:
我想删除范围(0、25、50、75、100)上的刻度标签,同时将刻度标签保留在域中。我该如何做到既不兼而有之呢?我试过了:
public class BarCustomizer implements JRChartCustomizer {
@Override
public void customize(JFreeChart chart, JRChart jasperChart) {
BarRenderer renderer = (BarRenderer) chart.getCategoryPlot().getRenderer();
renderer.setMaximumBarWidth(0.99);
renderer.setItemMargin(-2);
ValueAxis rangeAxis = chart.getCategoryPlot().getRangeAxis();
rangeAxis.setVerticalTickLabels(false);
rangeAxis.setTickLabelsVisible(false);
}
}
但是这只会使两个轴上的标签都不可见。
我通过为两个轴都设置setTickLabelsVisible解决了这个问题(即使默认情况下,域轴也应显示刻度标签)。似乎只设置一个轴会导致两个轴都设置为true或false(奇怪的错误)。因此,在将范围轴设置为setTickLabelsVisible(false)的同时将域轴设置为setTickLabelsVisible(true)解决了我的问题。