JFreeChart条形图标签

时间:2011-08-23 01:09:14

标签: java jfreechart

我已经让值标签显示在JFreeChart的栏顶部。但是,如果标签位于条形内部,它看起来会更好。我该如何工作?下图显示了我希望图表的样子。

Bar Graph with Label inside bar

4 个答案:

答案 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  ))

输出: -

enter image description here

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

它将在栏的中心显示您的价值。您可以根据需要修改职位。