基本上,我遇到了与以下文章非常相似的问题:http://www.jfree.org/phpBB2/viewtopic.php?t=24713
除了版本不同之外,我的标签结果很像第三个饼图,我更喜欢第一个饼图(每行更多的空间-更宽的行),这样它们就不必那么快地换行到下一行。我想尽一切办法来增加标签的尺寸,但似乎都无济于事。
我的主要想法是调整标签开始写入的位置,通过对源代码的大量调试,我能够扩展框的大小,但不能扩展实际的字符串。如果不通过某种配置编辑源,我找不到一种方法,即使在那时,我也无法正确调整文本,只能调整框。这需要付出大量的努力,代码对两者来说并不在同一个位置。
关于如何设置饼图,使上面文章中所示的标签更像第一个图表而不是最后一个图表的任何建议都将不胜感激。我做了帖子中的建议:
plot.setInteriorGap(0.02);
plot.setMaximumLabelWidth(0.20);
plot.setLabelLinkStyle(PieLabelLinkStyle.CUBIC_CURVE);
但这并没有真正的区别。默认情况下,最新版本中没有CUBIC_CURVE。setInteriorGap确实有轻微的改进,但它是最小的。而另一行什么也没做。
真正令人不安的是,在生成的图表的左右两侧有多少空白。如果能以某种方式利用这个空间,那就太好了。
我不确定第一个问题。然而,我对如何处理剩余的空白有一些想法。
如果你正在将图表转换为图像,你可以尝试通过以下方式修剪它周围的空白:
BufferedImage chartImage = chart.createBufferedImage(width, height);
chartImage = chartImage.getSubImage(howMuchToTrimOnLeft, howMuchtoTrimOnTop, width - howMuchToTrimOnLeft - howMuchToTrimOnRight, height - howMuchtoTrimOnTop - howMuchToTrimOnBottom);
生成的chartImage
将包含修剪后的版本。请确保初始宽度和高度值大于您希望图表占据的区域的尺寸,然后将其缩小到合适的大小。