- PR -

円グラフでの値表示について

1
投稿者投稿内容
shiba
会議室デビュー日: 2007/11/19
投稿数: 3
投稿日時: 2007-11-19 18:03
はじめまして。
円グラフを出力した際にラベル上の値の表示方法がわからず困っております。
下記の解説ページでいうところの「書籍紹介 = 150,000」の「 = 150,000」が私の環境では表示されません。「書籍紹介」という風に値は表示されず項目名だけしか表示されません。
http://www.atmarkit.co.jp/fjava/javatips/092jspservlet036.html

JFreeChartのヴァージョンの問題なのでしょうか?
最新版(及び将来的に)値の表示は無くなってしまったのでしょうか?
ご存知の方がおられましたらご教授願いないでしょうか。
よろしくお願いします。

環境:
OS:WindowsXP sp2
JDK:1.6 update3
JFreeChart:1.0.7
Eclipse:3.3(Europa)
Tomcat6.0
kvip
会議室デビュー日: 2003/05/12
投稿数: 12
投稿日時: 2007-11-20 11:04
直接そのような設定ができるかどうかはわかりませんが、
データセットに項目名をセットする際に、「={値}」の文字列を連結すればお望みのことはできると思います。

そもそも数値に対し桁区切りが入っている時点で、大元の記事でも上記のような文字列操作をしている気がします。
shiba
会議室デビュー日: 2007/11/19
投稿数: 3
投稿日時: 2007-11-20 18:08
ご返答ありがとうございます。
サンプルソースではその辺りの記述が省略されていただけなのでしょうか。
他の解説ページ↓
https://www.thinkit.co.jp/cert/tech/4/5/2.htm
http://634.ayumu-baby.com/jfreechart/java_jfreechart_pie.html
などでも、同様の記述で値まで表示されており、
皆がその部分の記述を省略しているだけとは思えなかったので質問させて頂きました。

とりあえずkvipさんのおっしゃる通り、「={値}」の文字列連結で対応してみます。
ありがとうございました。
kvip
会議室デビュー日: 2003/05/12
投稿数: 12
投稿日時: 2007-11-20 18:47
ごめんなさい、正しい方法がありました。
元記事のコードを使う場合は、
コード:

PiePlot plot = (PiePlot)objCht.getPlot();
plot.setLabelGenerator(new StandardPieSectionLabelGenerator("{0}={1}"));



とすればできます。
なお、
{0}は項目名
{1}は値
{2}はパーセント表示
となるので、自分で表示をカスタマイズできます。

<参考>
http://www.jfree.org/jfreechart/api/gjdoc/org/jfree/chart/labels/StandardPieSectionLabelGenerator.html
shiba
会議室デビュー日: 2007/11/19
投稿数: 3
投稿日時: 2007-11-22 09:20
ありがとうございました!
スッキリうまくいきました!

解説ページには「注:本連載ではバージョン0.9.21を使用しています。」と書かれていたので、
バージョン1.0あたりで表示方法をカスタマイズできるように変更があったのかもしれませんね。
2〜3年前の連載記事のサンプルコードを鵜呑みにして右往左往してはダメですね。
反省します。

本当に助かりました。
ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)