JFreeChart…サンプルコードは有償だったのね

Java Appletでグラフを描くなら、色々な選択肢はあるけどJFreeChartが良いんじゃないかなぁ~昔、訊かれて答えた気がする。その時は自分が絡むなんて一切思わずに ;)

で、ちょっとした改造がしたいと…現状は折れ線グラフと棒グラフの2つのグラフを重ねてるところに、もう1本折れ線グラフを追加したいと。

以下のJFreeChartサンプルデモにあるMultipleAxisDemo1のグラフを1本減らして、1本を棒グラフに変えたようなイメージ。

JFreeChartSample

元もあるので、簡単簡単よく分からないけど…縦軸増やして、データセットを1本分増やして、折れ線のレンダラも増やして…って感じでアッという間にほぼ完了。

しかし、当然なんだけどデフォルトでは凡例が追加した順に表示されるので折れ線、棒、折れ線となって気持ちが悪い :|

でも、凡例の方だけで順番を入れ替えたいんだけど…参考になりそうなページが検索すると見つかるんだけど意図とは少し違う。結局、コッテリした実装になってしまったが…要点だけ晒してみる。

XYPlot plot = chart.getXYPlot();
…
LegendItemCollection legendItems = plot.getLegendItems();
LegendItemCollection setLegendItems = new LegendItemCollection();
 
setLegendItems.add(legendItems.get(0));
setLegendItems.add(legendItems.get(2)); // 2と1を入れ替え
setLegendItems.add(legendItems.get(1));
 
plot.setFixedLegendItems(setLegendItems);

他に良い方法があれば、教えていただけるとうれしいです ;)

しかし、JFreeChartのサンプルデモって充実してるなぁ~ソースみたいなぁ~と思ったら…有償なんですね知りませんでした :oops: このような戦略は嫌いじゃないですし、お世話になってるので積極的に買いたいくらい。

う~ん、個人で買う気までは起こらないんだよなぁ…でも、会社では買いにくい形態なんですよね~ダウンロード販売って :|

Be Sociable, Share!

TrackBack URL :

No comments yet. Be the first.

Leave a reply