2017-06-04 5 views
1

ich ein gestapeltes Balkendiagramm mit nicht numerischen Daten erstellen möchten, wie die ggplot unterR Erstellen gestapeltes Balkendiagramm aus nicht-numerischen Daten mit ggplot2

enter image description here

Meine Daten sieht wie folgt aussehen würde, als CSV eingelesen und enthält 500+ obs. Alle Zeilen für "Name" sind eindeutig.

Name  Group  Category 
Philippe Cochet  NPA  Farmer 
Jacques Kossowski  NPA  Farmer 
Lionel Tardy  USD  Executive 
Dominique Tian  USD  Executive 
Dom Terril  ABC  Executive 

Ich möchte, dass die X-Achse die Kategorie und die Y-Achse die Anzahl der Kategorie sein. Die Balken würden dann nach Gruppenanzahl gefärbt sein. Ich stelle mir vor, es könnte so etwas wie dies funktioniert:

ggplot(z, aes("Category")) + geom_bar(aes(fill = "Group")) 

ich auch eine native BarPlot mit versucht haben, aber das wird die Stangen

z <- table(z$"Group",z$"Category") 
barplot(z, beside = TRUE, legend = TRUE) 
+0

Haben Sie in der Dokumentation gesucht [geom_bar] (http://ggplot2.tidyverse.org/reference/geom_bar.html)? Beachten Sie die Verwendung von Anführungszeichen (oder deren Fehlen). –

+0

Ja, ich habe, aber ich bin ein Anfänger. Welcher Teil der Dokumentation? – user3821345

+0

Sehen Sie sich die Beispiele unten an, die verschiedene Möglichkeiten zur Erstellung eines Balkendiagramms zeigen. Beachten Sie, dass Sie in 'ggplot', wenn Sie Spaltennamen an 'aes()' übergeben, keine Anführungszeichen um sie herum setzen, sondern sie einfach als nicht-angekreuzte Symbole einschließen. Also sollten Ihre 'Aes'-Aufrufe wie folgt aussehen:' aes (fill = Group) '. – Marius

Antwort

0

Die fill = Group Bedürfnisse nicht stapeln sein innerhalb der aesohne Anführungszeichen. Versuchen:

ggplot(z, aes(Category, fill = Group)) + geom_bar() 

oder mit der geom_bar Hilfeseite zu halten:

ggplot(z, aes(Category)) + geom_bar(aes(fill = Group)) 

Diese werden sowohl das gewünschte Ergebnis: enter image description here

Verwandte Themen