2010-03-02 10 views
0

Je veux remplir le PieChart3D avec une couleur de dégradé, j'utilise JFreeChart pour dessiner le graphique. mais il ne se remplit pas de couleur dégradée plutôt que d'une couleur pleine. Voici le code que j'utilise pour changer la couleur.Comment remplir la couleur du dégradé dans 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); 
      } 
     } 
    } 

un onle peut s'il vous plaît aidez-moi à ce sujet? le code ci-dessus fonctionne pour graphique à barres, mais pas dans piechart ... J'ai également essayé 2D sans aucun succès ..

Répondre

0

Votre graphique à secteurs utilise-t-il toujours vos couleurs, mais pas dans un dégradé? La raison pour laquelle je pose la question est que si vous voyez les couleurs par défaut, vous devez modifier votre tracé de manière à ne pas remplir automatiquement les couleurs de la section. Je n'ai pas fait cela sur un tracé 3D, mais je devais le faire pour un tracé en 2D.

+0

Oui c'est le remplissage (pas la valeur par défaut) la couleur mais la couleur de dégradé n'est pas là, seulement la couleur unie. par exemple. "GradientPaint gp0" donne uniquement la couleur noir uni, rathar que le dégradé de noir à gris. –

+0

Pas sûr alors. Je publierais sur le forum de jfree: http://www.jfree.org/phpBB2 Le fabricant de jfreechart est très utile aussi bien que la communauté. Assurez-vous de faire des références croisées, donc si vous obtenez une réponse à un endroit, les autres peuvent la trouver dans l'autre. – Adam

0

S'il s'agit d'un graphique fixe ayant une plage de début et de fin de votre tarte identique, vous pouvez l'obtenir en donnant des coordonnées x-y correctes.