Ich benutze JasperReports, um einen Bericht mit Diagrammen zu erzeugen. Einer von ihnen ist ein Balkendiagramm und ich möchte das Inkrement der Achsenwerte in 20 Einheiten einstellen. BarChart bar value labels are hidden by the marginBarChart setzt Werte Achseninkrement
Das ist mein Customizer Klasse:
public class BarChartCustomizer extends JRAbstractChartCustomizer {
@Override
public void customize(JFreeChart jFreeChart, JRChart jrChart) {
CategoryPlot plot = (CategoryPlot) jFreeChart.getPlot();
plot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_LEFT);
NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
NumberFormat numberFormat = NumberFormat.getNumberInstance();
numberFormat.setMaximumFractionDigits(2);
numberFormat.setMinimumFractionDigits(2);
rangeAxis.setNumberFormatOverride(numberFormat);
BarRenderer barRenderer = (BarRenderer) plot.getRenderer();
barRenderer.setItemMargin(0.0);
rangeAxis.setUpperMargin(0.20);
rangeAxis.setAutoRange(true);
CategoryAxis categoryAxis = plot.getDomainAxis();
categoryAxis.setAxisLineStroke(new BasicStroke(2f));
rangeAxis = (NumberAxis) plot.getRangeAxis();
rangeAxis.setAxisLineStroke(new BasicStroke(2f));
}
}
Ich habe versucht, mit rangeAxis.setMinorTickCount(20);
ohne Erfolg
Sie können meinen früheren Ansatz unter diesem Link sehen. https://github.com/MichaelKnight/jaspertest.git
Das ist perfekt! Es war genau wie du gesagt hast. –