JFreeChart - 如何改进饼图中的标签

3

我遇到了类似以下文章的问题: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确实有一点改善,但是很小。而其他线条则没有任何作用。

真正令人困扰的是生成的图表左右两侧有太多的空白。希望能想办法利用这些空间。

1个回答

0

我不确定第一个问题。但是,我有一些关于如何处理剩余的空白的想法。

如果您正在将图表转换为图像,可以尝试通过以下方式修剪其周围的空白:

BufferedImage chartImage = chart.createBufferedImage(width, height);
chartImage = chartImage.getSubImage(howMuchToTrimOnLeft, howMuchtoTrimOnTop, width - howMuchToTrimOnLeft - howMuchToTrimOnRight, height - howMuchtoTrimOnTop - howMuchToTrimOnBottom);

chartImage 的结果将包含一个修剪过的版本。请确保将初始宽度和高度值设置为大于您想要图表占用的区域的尺寸,然后将其裁剪到适当的大小。


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