2013-01-10 9 views
37

Daten:Befestigung der Reihenfolge von Facetten in ggplot

type size amount 
T 50%  48.4  
F 50%  48.1  
P 50%  46.8  
T 100% 25.9  
F 100% 26.0  
P 100% 24.9  
T 150% 21.1  
F 150% 21.4  
P 150% 20.1  
T 200% 20.8  
F 200% 21.5  
P 200% 16.5 

Ich brauche ein Bargraph der obigen Daten plotten ggplot Verwendung (x-Achse -> "Typ", y-Achse -> "Menge", gruppieren nach "Größe"). Wenn ich den folgenden Code verwende, erhalte ich die Variable "type" und "size" nicht in der Reihenfolge, die in den Daten angezeigt wird. Bitte sehen Sie sich die Abbildung an. Ich habe den folgenden Code dafür verwendet.

ggplot(temp, aes(type, amount , fill=type, group=type, shape=type, facets=size)) + geom_bar(width=0.5, position = position_dodge(width=0.6)) + facet_grid(.~size) + theme_bw() + scale_fill_manual(values = c("darkblue","steelblue1","steelblue4"), labels = c("T", "F", "P")) 

enter image description here.

Zur Behebung des Bestellproblems habe ich eine Faktormethode für die Variable "type" verwendet. Siehe auch die Abbildung.

temp$new = factor(temp$type, levels=c("T","F","P"), labels=c("T","F","P")) 

enter image description here

Aber jetzt weiß ich nicht, wie man den Auftrag für die Variable "Größe" zu beheben. Es sollte 50%, 100% sein. 150% und 200%.

Antwort

57

Machen Sie Ihre Größe ein Faktor in der Datenrahmen von:

temp$size_f = factor(temp$size, levels=c('50%','100%','150%','200%')) 

dann die

Dann Grundstück facet_grid(.~size)-facet_grid(.~size_f) ändern: enter image description here

Die Diagramme sind nun in der richtigen Reihenfolge.

+1

Danke. Ich bin wirklich dumm. :-) – samarasa

+0

froh zu helfen :) – Harpal

+0

@Harpal Sie haben einen Kommentar zu Ihrer Antwort in Form einer anderen Antwort. Schau mal –

Verwandte Themen