簡體   English   中英

JFreeChart - 如何改善餅圖中的標簽

[英]JFreeChart - How to improve the labels in a pie chart

基本上我對下面的文章有一個非常類似的問題: 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將包含修剪版本。 確保使初始寬度和高度值大於您希望圖表占據的區域的尺寸,然后將其修剪為大小。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM