2017-04-23 6 views
0

Ich geplottet 3 Histogramme mit Facettenansicht und hinzugefügt vlines für Mittelwert und Median.Wie füge ich eine Legende zu geom_vline in Facettenhistogrammen hinzu?

enter image description here

würde Ich mag eine Legende hinzuzufügen, um anzuzeigen, welche vline verweist Statistik, auf die.

ggplot(x, aes(x=earnw)) + geom_histogram(binwidth=100, colour="black", fill="white") + 
facet_grid(tuyear ~ .) + 
geom_vline(data=a, aes(xintercept=earnw.mean), linetype="dashed", size=1, color="mean") + 
geom_vline(data=b, aes(xintercept=earnw.med), linetype="dashed", size=1, color="median") + 
scale_color_manual(name = "statistics", values = c("mean" <- "red", "median" <- "blue")) + 
labs(title="Histogram for Weekly Earnings of Respondents") + 
labs(x="Weekly Earnings of Respondents", y="Count") + 
scale_x_continuous(breaks=seq(0,3000,200),lim=c(0,3000)) 

Der folllowing Code gibt Fehler:

Error in grDevices::col2rgb(colour, TRUE) : invalid colour name 'mean'

+0

'scale_color_manual' benötigt Farben als Eingabe für' values ​​= 'verwendet Beschriftungen für beschreibende Attribute – timfaber

Antwort

2

Es gibt mehrere Möglichkeiten, dies zu tun. Ich würde den Datensatz zusammenfassen und dann diese Zusammenfassung an geom_vline geben. Hier verwendet man den Iris-Datensatz

iris.summary <- iris %>% 
    group_by(Species) %>% 
    summarise(mean.SL = mean(Sepal.Length), med.SL = median(Sepal.Length)) %>% 
    gather(key = stat, value = value, -Species) 

ggplot(iris, aes(x = Sepal.Length)) + 
    geom_histogram() + 
    facet_wrap(~ Species) + 
    geom_vline(data = iris.summary, aes(xintercept = value, colour = stat), linetype = "dashed") 
Verwandte Themen