JFreeChart graphique à barres de couleur personnalisée?
Je suis en utilisant JFreeCharts
en java pour créer un graphique à barres. Ma question est assez simple... comment puis-je choisir une couleur personnalisée pour toutes les barres dans un graphique à barres? Je ne sais pas si cette personnalisation pourrait être fait en GradientPaint
. Un exemple de mon code qui détermine la barre de couleur est:
final GradientPaint gp0 = new GradientPaint(
0.0f, 0.0f, Color.blue,
0.0f, 0.0f, Color.blue
);
Je ne suis pas sûr si c'est la bonne façon d'aller pour des couleurs personnalisées ou non. En gros, je ne sais pas si GradientPaint
est la bonne façon de faire ou pas. Si elle l'est, quelqu'un pourrait-il me faire savoir comment je pourrais modifier ce code pour faire une couleur personnalisée plutôt que bleu?
Je ne suis pas sûr si cela aide, mais disons que de l'information pour la couleur personnalisée a été
- teinte: 142
- Sat: 109
- Uml:126
- Rouge: 79
- Vert: 129
- Bleu: 189
Avec cette est-il un moyen de personnaliser la couleur du graphique?
OriginalL'auteur user3794422 | 2014-07-03
Vous devez vous connecter pour publier un commentaire.
Il a été un moment depuis que j'ai codé avec jfreechart.Bud si je me souviens corectly c'était le code que j'ai écrit à la barre de modification de la peinture ;).
Je cherche le code pour ma première demande écrite.Je ne sais pas si ça va marcher maintenant.
Pour l'avenir, je le recommande à google ou acheter PDF guide pour jfreechart.Vous trouverez toutes les références et de prélèvement d'échantillons.Bud si vous le pouvez ,passez à JavaFX, je le recommande vivement ,en travaillant avec jfreechart est une douleur.Pour être honnête.La mise en œuvre de graphiques dans javafx est facile et ressemble de manière mieux 😉
Bien sûr.Vous avez juste à le mettre en œuvre.Il n'est pas facile de graphique.setMyData(dataOfAnyKind); // méthode done.Bud il n'importe pas où vous prenez les données.Si c'est un fichier de texte,base de données,fichier csv, etc .Tout d'abord, vous devez analyser en fonction de vos besoins ou de graphique besoins.En général, vous pouvez préparer vos données avant de vous faire quelque chose avec elle .La même logique s'applique.Afin de ne pas avoir peur et aller pour JavaFX.Avec JfreeChart, vous aurez à faire la même quantité de travail + adapter l'interface utilisateur qui est beaucoup plus difficile comared à SceneBuilder avec javafx ,fxml.Bud ses jusqu'à vous.
Comme vous l'avez souligné dans le commentaire.Avez-vous pris les données de la db.Donc tout le travail effectué.Maintenant l'accent sur l'interface utilisateur.Et JavaFX ont une meilleure mise en œuvre de tableaux puis jfreechart de l'omi.
OriginalL'auteur Tomas Bisciak
Ceci permettra de définir toutes les barres de couleur. Si vous souhaitez que les couleurs à changer pour chaque ligne (par exemple, pour un graphique à barres empilées), vous pouvez appeler
dataset.getRowCount()
, avec jeu de données de typeCategoryDataset
, de vous retourner le nombre de lignes concernées pour chaque colonne de la barre graphique. Ensuite, vous pouvez l'indice de la série dans lerenderer.setSeriesPaint()
appel basé sur l'indice de la ligne.OriginalL'auteur bradykey
créer un nouveau nom de classe est
CustomRenderer extends BarRenderer3D
ou vous choisissezBarRenderer
OriginalL'auteur Chetan Bhagat
Je pense que la façon la plus simple est d'utiliser
getRenderer().setSeriesPaint(index, color)
méthode.Ainsi, à titre d'exemple, vous pouvez essayer le code ci-dessous pour un graphique à barre qui a 3 barres groupées.
OriginalL'auteur Osanda Deshan