2010-03-02 5 views
0

그라디언트 색상으로 PieChart3D를 채우고 싶습니다. 그래프를 그릴 때 JFreeChart를 사용하고 있습니다. 하지만 그것은 단색으로 채워지는 대신 그래디언트 색상으로 채우지 않습니다. 색상을 변경하는 데 사용하는 코드는 다음과 같습니다.JFreeChart PieChart3D에서 그라디언트 색상을 채우는 방법은 무엇입니까?

public void setColor(PiePlot3D plot, PieDataset dataset) { 
     GradientPaint gp0 = new GradientPaint(1.0f, 1.0f, Color.BLACK, 
       0.3f, 2.1f, Color.lightGray); 
     GradientPaint gp1 = new GradientPaint(0.5f, 0.5f, Color.green, 
       0.0f, 0.0f, Color.lightGray); 
     GradientPaint gp2 = new GradientPaint(0.5f, 0.5f, Color.red, 
       0.0f, 0.0f, Color.lightGray); 

     List<Comparable> keys = dataset.getKeys(); 
     int aInt; 

     for (int i = 0; i < keys.size(); i++) { 
      aInt = i % this.color.length; 
      if (i == 0) { 
       plot.setSectionPaint(keys.get(i), gp0); 
       plot.setBackgroundPaint(gp0); 
      } 
      if (i == 1) { 
       plot.setSectionPaint(keys.get(i), gp1); 
      } 
      if (i == 2) { 
       plot.setSectionPaint(keys.get(i), gp2); 
      } 
     } 
    } 

어떤 회원이라도이 문제에 대해 저를 도울 수 있습니까? 위의 코드는 막 대형 차트에서 작동하지만 piechart에서는 작동하지 않습니다 ... 나는 성공을 거두지 않고 2D를 시도했습니다. ..

답변

0

그래도 원형 차트는 색상을 사용하지만 그래디언트는 사용하지 않습니까? 내가 물어 보는 이유는 기본 색상을보고있는 경우 섹션 색상을 자동 채우기가 아닌 플롯 위치를 변경해야한다는 것입니다. 3D 플롯에서이 작업을 수행하지는 않았지만 2D 플롯을 작성해야했습니다.

+0

예 색상을 채우고 있지만 채도는 없습니다 (단색 만 사용). 예 : "GradientPaint gp0"은 balck에서 gray까지 그라디언트보다 단색 검정색 만 제공합니다. –

+0

확실하지 않습니다. 나는 jfree 포럼에 올릴 것이다 : http://www.jfree.org/phpBB2 jfreechart의 제작자는 커뮤니티만큼이나 도움이된다. 상호 참조를해야하므로 한 곳에서 답을 얻으면 다른 곳에서 답을 얻을 수 있습니다. – Adam

0

파이의 시작 범위와 끝 범위가 동일한 수정 차트 인 경우 정확한 x-y 좌표를 지정하면됩니다.

관련 문제