J'ai un diagramme à barres empilées dans lequel le nombre de colonnes est dynamique. Il peut varier de 1 à n colonnes. Je veux que l'espacement entre les diagrammes et la largeur de la barre soient cohérents. Comment je le répare. S'il vous plaît suggérer des solutions/idées.Correction de la largeur du graphique à barres et de l'espacement entre les barres dans JFreeChart
Q
Correction de la largeur du graphique à barres et de l'espacement entre les barres dans JFreeChart
3
A
Répondre
2
StackedBarRenderer
consacre quelques efforts pour rendre «l'espacement entre les [barres] et la largeur de la barre pour être cohérent». Vous ne savez pas exactement ce que vous voulez faire différemment à mesure que le nombre de colonnes change. La géométrie pertinente est déterminée par le parent BarRenderer
dans des méthodes telles que calculateBarWidth()
, qui peuvent être remplacées à volonté. Vérifiez également qu'il existe une valeur pour chaque catégorie dans chaque série.
3
Dans un graphique à barres empilées, vous pouvez modifier l'espacement entre les barres à l'aide
- CategoryAxis.setLowerMargin
- CategoryAxis.setMargin et
- CategoryAxis.setUpperMargin
est inférieur
protected JFreeChart generateGraph() {
CategoryAxis categoryAxis = new CategoryAxis("Categories");
categoryAxis.setLowerMargin(.01);
categoryAxis.setCategoryMargin(.01);
categoryAxis.setUpperMargin(.01);
categoryAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_90);
ValueAxis valueAxis = new NumberAxis("Values");
StackedBarRenderer renderer = new StackedBarRenderer();
renderer.setBarPainter(new StandardBarPainter());
renderer.setDrawBarOutline(false);
renderer.setShadowVisible(false);
renderer.setBaseItemLabelsVisible(true);
renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
CategoryPlot plot = new CategoryPlot(_dataset,
categoryAxis,
valueAxis,
renderer);
plot.setOrientation(PlotOrientation.VERTICAL);
JFreeChart chart = new JFreeChart("Title",
JFreeChart.DEFAULT_TITLE_FONT,
plot,
true);
//ChartFactory.getChartTheme().apply(_chart);
return chart;
}
Questions connexes
- 1. Largeur de la barre dans Jfreechart
- 2. Points de connexion JFreeChart dans les diagrammes à barres empilés
- 3. Graphiques à barres Javascript de Emprise - Comment créer des barres groupées dans un graphique à barres
- 4. Comment faire pour supprimer l'écart entre les barres dans un graphique à barres
- 5. facteurs classés dans ggplot2 graphique à barres
- 6. Graphique ohlc dans JFreeChart
- 7. JFreeChart: est-il possible de combiner des barres empilées et un graphique linéaire combiné?
- 8. Comment créer un graphique à barres avec JFreeChart, qui raccourcit les barres trop longues avec un indice visible?
- 9. Comment éviter la duplication de graphique à barres dans iReport
- 10. Masquer les barres de défilement du navigateur
- 11. ggplot2 Etiquetage d'un graphique à barres multicouche
- 12. Afficher l'étiquette devant le graphique à barres
- 13. graphique à barres Flex ne fonctionne pas
- 14. valeur d'affichage sur le graphique à barres
- 15. Comment "empiler" un graphique à barres Silverlight?
- 16. Changer la couleur Barres de navigation, Barres à onglets
- 17. création graphique à barres en php
- 18. comment créer un graphique à barres dans Android?
- 19. Comment définir la ligne d'axe en bas lorsque toutes les données 0 dans le diagramme à barres de jfreechart?
- 20. Modification d'un graphique à barres horizontal en un graphique vertical
- 21. Diagramme à barres empilées et affichage des valeurs de barres sur la souris
- 22. Détecte la largeur de la fenêtre et compense les barres de défilement - Javascript
- 23. Comment garder la même largeur des barres quel que soit le nombre de barres que nous comparons dans la figure?
- 24. Comment définir différentes couleurs pour les barres dans un diagramme à barres empilées dans ireport?
- 25. Graphique à barres en temps réel dans une applet Java
- 26. Graphique à barres empilées avec composition en pourcentage à l'intérieur de la barre et total au-dessus de la barre dans JFreeChart
- 27. barres de défilement horizontales dans les tableaux
- 28. IKImageView et barres de défilement
- 29. Google graphique à barres ne me permettant pas d'étiqueter deux barres?
- 30. Diagramme à barres Google
Je vous sed Méthode setMaximumBarWidth du moteur de rendu pour définir la largeur de façon dynamique. – SKR
Excellent. Je ne connaissais pas 'setMaximumBarWidth()', et cela semble beaucoup plus facile. Je voterais comme une réponse séparée. – trashgod