1) Следующая строка включает метки осей с восходящим уклоном:
CategoryAxis domainAxis = plot.getDomainAxis();
domainAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45);
45 обозначает угол в градусах, а ВВЕРХ означает ориентацию снизу слева вверху справа.Вы также можете определить произвольный угол (например, 22,5 °) с помощью
CategoryAxis domainAxis = plot.getDomainAxis();
domainAxis.setCategoryLabelPositions(CategoryLabelPositions.createUpRotationLabelPositions(Math.toRadians(22.5)));
. Следует отметить, что createUpRotationLabelPositions
ожидает угол в радианах.
2) Следующая строка форматирует полосуметки серии 0 в процентах.
DecimalFormat labelFormat = new DecimalFormat("##0.0 %");
labelFormat.setMultiplier(100);
plot.getRenderer().setSeriesItemLabelGenerator(0, new StandardCategoryItemLabelGenerator("{2}", labelFormat));
plot.getRenderer().setSeriesItemLabelsVisible(0, true);
с {0} = серией, {1} = категорией, {2} = значением
В качестве альтернативы вы можете определить свой собственный генератор меток, например:
class CstmStandardCategoryItemLabelGenerator extends StandardCategoryItemLabelGenerator {
@Override
public String generateLabel(CategoryDataset dataset, int row, int column) {
return String.format("%.1f %%", dataset.getValue(row, column).doubleValue() * 100.0);
}
}
, который просто можно использовать следующим образом:
plot.getRenderer().setSeriesItemLabelGenerator(0, new CstmStandardCategoryItemLabelGenerator());
В результате:
![enter image description here](https://i.stack.imgur.com/XsRsl.png)