显示JFreeChart值

时间:2011-08-19 08:41:03

标签: jfreechart

我在JFreeChart中创建了一个饼图。但是,数值不会出现在“切片”上。如何让它出现在那里?

1 个答案:

答案 0 :(得分:6)

PiePlot上,可以使用设置器setSimpleLabels

假设您已创建图表:

Chart chart = // your created chart
PiePlot plot = (PiePlot) chart.getPlot();
plot.setSimpleLabels(true); 

如果你需要更加朴素的外观,你可以使用透明的颜色作为标签阴影,轮廓和背景颜料:

plot.setOutlinePaint(new Color(0, 0, 0, 0));
plot.setLabelShadowPaint(new Color(0, 0, 0, 0));
plot.setLabelBackgroundPaint(new Color(0, 0, 0, 0));
plot.setLabelOutlinePaint(new Color(0, 0, 0, 0)); 

编辑:要在切片中显示值而不是图例:

plot.setLabelGenerator(new StandardPieSectionLabelGenerator("{2}"));

如果你需要其中一个,StandardPieSectionLabelGenerator也有一个格式编码器。

这应该用于饼图。

对于条形图,您可以使用BarRenderer方法在setPositiveItemLabelPositionFallback(ItemLabelPosition position)上设置标签位置。对于内部标签,您可以使用:

barRenderer.setPositiveItemLabelPositionFallback(
     new ItemLabelPosition(ItemLabelAnchor.CENTER, TextAnchor.CENTER));

尝试此操作时,请确保字体大小适合栏内。