Erstellen eines gestapelten Balkendiagramms für mehrere Variablen - ggplot2 in R

8

Ich habe ein paar Probleme damit, ein gestapeltes Balkendiagramm in ggplot2 zu erstellen. Ich weiß, wie man einen mit barplot () erstellt, aber ich wollte ggplot2 verwenden, weil es sehr einfach ist, die Balken auf die gleiche Höhe zu bringen (mit 'position =' fill '', wenn ich mich nicht irre).

Mein Problem ist, dass ich mehrere Variablen habe, die ich übereinander plotten möchte; Meine Daten sehen so aus:

%Vor%

Was ich will, ist ein Diagramm mit den Kategorien A, B und C auf der X-Achse, und für jedes von diesen sind die Werte für V1, V2, V3 und V4 auf der Y-Achse übereinander gestapelt. Die meisten Graphen, die ich gesehen habe, zeichnen nur eine Variable auf der Y-Achse, aber ich bin mir sicher, dass man das irgendwie tun könnte.

Wie kann ich das mit ggplot2 machen? Danke!

    
Annemarie 14.07.2011, 12:39
quelle

2 Antworten

15

Zuerst einige Datenmanipulation. Fügen Sie die Kategorie als Variable hinzu und verschmelzen Sie die Daten mit dem Langformat.

%Vor%

Zeichnen Sie jetzt mit der Variablen variable , um die Füllfarbe jedes Balkens zu bestimmen.

%Vor%

(BEARBEITEN: Code aktualisiert, um scales -Pakete zu verwenden, wie seit ggplot2 v0.9 erforderlich.)

    
Richie Cotton 14.07.2011, 12:51
quelle
3

Entschuldige, dass ich eine neue Antwort einleite, während ich nur einen Kommentar zu der schönen Lösung von @Richie hinzufügen möchte. Ich habe nicht die minimalen Punkte, um einen Kommentar zu posten, also hier ist mein Fall:

Der ... + geom_bar(position="fill") hat einen Fehler für mein Plotten geworfen, ich benutze ggplot2 Version 0.9.3.1. und reshape2 statt für das Schmelzen umgestalten.

%Vor%

Also habe ich es in geom_bar(stat='identity') geändert und es funktioniert.

    
X.X 31.01.2014 02:28
quelle

Tags und Links