我已经让值标签显示在JFreeChart的栏顶部。但是,如果标签位于条形内部,它看起来会更好。我该如何工作?下图显示了我希望图表的样子。
答案 0 :(得分:9)
我使用以下代码使其工作:
StackedBarRenderer renderer = new StackedBarRenderer(false);
renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
renderer.setBaseItemLabelsVisible(true);
chart.getCategoryPlot().setRenderer(renderer);`
答案 1 :(得分:5)
只需在ItemLabelPosition
中指定所需的CategoryItemLabelGenerator
即可。 BarChartDemo3
就是一个示例,显示为here。
答案 2 :(得分:4)
您可以使用 ItemLabelPosition DOC Here
renderer.setBasePositiveItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12,TextAnchor.TOP_CENTER ))
输出: -
答案 3 :(得分:0)
作为固定位置,请使用 ItemLabelPosition
CategoryPlot plot = chart.getCategoryPlot();
CategoryItemRenderer renderer = plot.getRenderer();
CategoryItemLabelGenerator generator = new StandardCategoryItemLabelGenerator("{2}", NumberFormat.getInstance());
renderer.setItemLabelGenerator(generator);
renderer.setItemLabelFont(new Font("SansSerif", Font.PLAIN, 12)); //just font change optional
renderer.setItemLabelsVisible(true);
renderer.setPositiveItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.CENTER, TextAnchor.CENTER, TextAnchor.CENTER, - 0 / 2));
它将在栏的中心显示您的价值。您可以根据需要修改职位。