« Trac一括チケット登録 | Main | Advanced Ticket Workflow Plugin »

2008.05.30

JFreeChartで凡例を分割する

JFreeChartのサンプル内のDualAxisDemo2.javaのようなグラフの作り方。

2軸のグラフは例えば1つ目のグラフ(Renderer&DataSet)を含むXYPlotを初期化した後、

XYPlot#setRenderer(1, Renderer);
XYPlot#setDataset(1, DataSet);

といった感じで2つ目のグラフ(Renderer&DataSet)を追加すればオッケーなのですが、この状態だと凡例は1つにまとまって表示されてしまいます。

で、それぞれのグラフ毎に凡例を分けて表示したいような場合(JFreeChartのサイトでは、サンプルのソースコードは公開されていないので・・・)。

棒グラフと折れ線グラフを重ねたグラフから折れ線グラフの凡例を非表示にする方法 - 夜の Discoveryが参考になりました。

1. JFreeChart#removeLegend() で一度凡例を全て削除する。
2. JFreeChart#addLegend(LegendTitle)で順番に凡例を追加する。

なお、LegendTitleの作成は、

LegendTitle legend1 = new LegendTitle(XYPlot#getRenderer(0));
LegendTitle legend2 = new LegendTitle(XYPlot#getRenderer(1));

といった感じ。

あとは、フォントの設定を行ったり、凡例の出力位置の調整を行ったり。

|

« Trac一括チケット登録 | Main | Advanced Ticket Workflow Plugin »

Java」カテゴリの記事

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack


Listed below are links to weblogs that reference JFreeChartで凡例を分割する:

« Trac一括チケット登録 | Main | Advanced Ticket Workflow Plugin »