- PR -

JFreeChartでの凡例の色指定方法について

1
投稿者投稿内容
SHIN
会議室デビュー日: 2006/10/24
投稿数: 1
投稿日時: 2006-10-24 22:32
始めまして、お世話になります。

積み上げ棒グラフにはグラデーションの色設定をし、グラフそのものを表示させることはできたのですが、
凡例の色までは棒グラフに設定した色を反映させることができませんでした。

どなたか、原因が分かる方がいらっしゃいましたら、教えて下さい。
宜しくお願い致します。


環境とソースコードは下記の通りです。

--環境-----------
WindowsXP
JDK1.3
Tomcat4.1
Eclipse2.1
JFreeChart1.0.2

--ソースコード-------------------------------------

//凡例設定
JFreeChart jfreechart = new JFreeChart(categoryplot);
LegendTitle legendtitle = (LegendTitle)jfreechart.getSubtitle(0);
legendtitle.setPosition(RectangleEdge.LEFT);
jfreechart.setBackgroundPaint(Color.white);

//色設定
Paint apaint[] = createPaint();
CustomBarRenderer custombarrenderer = new CustomBarRenderer(apaint);
custombarrenderer.setGradientPaintTransformer(new StandardGradientPaintTransformer(GradientPaintTransformType.CENTER_HORIZONTAL));

static class CustomBarRenderer extends StackedBarRenderer{
  public Paint getItemPaint(int i, int j)
  {
return colors[i % colors.length];
  }

  private Paint colors[];

  public CustomBarRenderer(Paint apaint[])
  {
colors = apaint;
  }
}

private static Paint[] createPaint()
{
  Paint apaint[] = new Paint[5];
  apaint[0] = new GradientPaint(0.0F, 0.0F, Color.white, 0.0F, 0.0F, new Color(153, 204, 204));
  apaint[1] = new GradientPaint(0.0F, 0.0F, Color.white, 0.0F, 0.0F, new Color(255, 155, 128));
  apaint[2] = new GradientPaint(0.0F, 0.0F, Color.white, 0.0F, 0.0F, new Color(128, 16, 32));
  apaint[3] = new GradientPaint(0.0F, 0.0F, Color.white, 0.0F, 0.0F, new Color(255, 204, 16));
  apaint[4] = new GradientPaint(0.0F, 0.0F, Color.white, 0.0F, 0.0F, new Color(153, 255, 155));
  return apaint;
  }
}

1

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