我在JFreeChart中创建了一个饼图。但是,数值不会出现在“切片”上。如何让它出现在那里?
答案 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));
尝试此操作时,请确保字体大小适合栏内。