Stacked Balkendiagramm mit der prozentualen Zusammensetzung innerhalb Bar und insgesamt oberhalb der Bar in JFreeChart
-
02-10-2019 - |
Frage
Ich versuche, ein gestapeltes Balkendiagramm zu erstellen. Meine Forderung ist brauche ich prozentuale Zusammensetzung in der Bar und Gesamtzahl auf der Oberseite der Bar. Bitte Lösungen vorschlagen.
Meine Anforderung: Beispiel: http://www.jfree.org/jfreechart/api/ javadoc / images / StackedBarRenderer3DSample.png
Ich mag prozentuale Zusammensetzung in der Bar und Gesamtzusammensetzung auf der Oberseite der Bar.
Lösung
Es ist nicht klar, was Sie jetzt tun, aber mit einem StackedBarRenderer
mit setRenderAsPercentages(true)
werden die Prozentsätze anzuzeigen. Um die Gesamt zu erhalten, erweitern StackedBarRenderer
, eine Schleife durch den Datensatz für jede Spalte, und die Überschreibung drawItem()
das Ergebnis zu ziehen. Ein Beispiel kann in dem JFreeChart Demo zu finden als Teil StackedBarChartDemo3
.
Als Alternative sollten Sie eine benutzerdefinierte CategoryToolTipGenerator
, hinzugefügt über setBaseToolTipGenerator()
.
Nachtrag: verknüpfen Sie auf ein Beispiel mit StackedBarRenderer3D
, das hat auch eine setRenderAsPercentages()
Methode. Es kann in ähnlicher Weise erweitert werden.
Andere Tipps
Ich lief in das gleiche Problem auch. Aus irgendeinem Grunde die neueste Version von JFreeChart zeigt nicht die prozentuale Zusammensetzung in der Bar. Hier ist, wie ich es an der Arbeit bekommen:
StackedBarRenderer br = new StackedBarRenderer(true); //enable perc. display
br.setBarPainter(new StandardBarPainter());
br.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
br.setBaseItemLabelsVisible(true);
chart.getCategoryPlot().setRenderer(br);
Hope, das hilft