- PR -

jfreechartで複数データセットのグラフの色の指定

1
投稿者投稿内容
orange
会議室デビュー日: 2005/06/23
投稿数: 3
投稿日時: 2005-06-23 19:15
現在ベースとなっているグラフに、もうひとつグラフを追加しています。
ベースとなっているグラフの線の色は変更できるのですが、
追加したグラフの線の色が変更できないでいます。

〜ベースとなるデータのデータ設定(省略)〜

// ベースとなる放物線のグラフ作成する
JFreeChart xyLineChart = ChartFactory.createXYLineChart ("SampleXYLineChart",
"domain",
"range",
myXYDataset, PlotOrientation.VERTICAL,
true, true, true);


// 追加する直線のグラフを作成する
XYSeries series = new XYSeries("Sample");
series.add(100, 300);
series.add(500, 750);
XYDataset xyDataset = new XYSeriesCollection(series);

// ベースとなっているグラフに直線のグラフを追加
XYPlot xyPlot = xyLineChart.getXYPlot();
xyPlot.setDataset(1,xyDataset);

// 追加したグラフの色と線種の指定

XYItemRenderer renderer = xyPlot.getRenderer();
float[] dashPattern={5.0F,2.0F};
Stroke stroke = new BasicStroke(1,BasicStroke.CAP_BUTT,BasicStroke.JOIN_MITER,10.0F,dashPattern,0.0F);

renderer.setSeriesPaint(0, ChartColor.RED);
renderer.setSeriesStroke(0,stroke);

// ベースとなっているグラフの色指定
XYItemRenderer renderer1 = xyLineChart.getXYPlot().getRenderer();
renderer1.setSeriesPaint(0, ChartColor.BLACK);
renderer1.setSeriesPaint(1, ChartColor.DARK_MAGENTA);
  ・
  ・



上記の状態で、追加グラフの線種は点線になるものの
色はベースグラフで指定したものになってしまいます。

追加したグラフ用のRendererを追加すればよいのかなと思い、
いろいろ調べて試してはみたのですが、どうしてもわかりません。
ご存知の方がいましたら、どうぞご教授お願いします。
(jfreechartを初めて使うことになり、手探り状態で開発しています。
質問文が不適切な文章でしたら、すみません。)
orange
会議室デビュー日: 2005/06/23
投稿数: 3
投稿日時: 2005-06-24 15:20
自己解決しました。

やはり、追加したグラフ用のRendererを追加しなければいけませんでした。
どうして、線種だけ反映されていたかはよくわかりませんが・・・


以上、お騒がせいたしました。

参考URL
http://www.thinkit.co.jp/free/tech/4/6/1.html
1

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