JFreeChart 条形图标签

5
我已经让JFreeChart中的值标签能够出现在条形图的顶部。然而,如果标签在柱形内部会看起来更好。我该如何实现这一点呢?下面的图片展示了我希望图表呈现的效果。
4个回答

10

我使用了以下代码使其工作:

StackedBarRenderer renderer = new StackedBarRenderer(false);
renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
renderer.setBaseItemLabelsVisible(true);
chart.getCategoryPlot().setRenderer(renderer);`

5

你的示例依赖于AbstractRenderer中默认的ItemLabelPosition实例。 - trashgod

5

您可以使用ItemLabelPosition在此处查看文档

renderer.setBasePositiveItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12,TextAnchor.TOP_CENTER  ))

输出:

在此输入图片描述


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)); 

它将在您的进度条中央显示您的价值。您可以根据自己的要求修改位置。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接