2017-06-09 7 views
0

Ich verwende eine for-Schleife, um mehrere Box-Plots für einen großen Datensatz zu erstellen, den ich habe (320269 Observables von 170 Variablen).R: ggplot. Achsenbezeichnungen in einem Boxplot für Schleife

Dafür ich den folgenden Code verwende die Boxplots zu generieren:

in pdf
nm <- names(data) 
for (i in 1:(ncol(data)-1)){ 
print(ggplot(data,aes(as.factor(data$Month),data[c(i)],color=as.factor(data$Month),aes_string("Month",nm[i]))) 
+ geom_boxplot(outlier.colour="black",outlier.shape=16,outlier.size=1,notch=FALSE))} 

Die Diagramme werden gedruckt und die boxplot selbst kommt richtig, aber etwas geht mit den Achsenbeschriftungen falsch. Egal, was ich versuche, bekomme ich die X-Achse Label: as.factor(data$Month), und auf der Y-Achse: data[c(i)], anstelle von "Monat" auf der X-Achse und die tatsächlichen Spaltennamen aus dem Datensatz auf der Y-Achse .

Was fehlt mir?

Ihre Hilfe wird sehr geschätzt.

+0

haben Sie so etwas wie '+ xlab versucht, indem ("Month") + YlaB (COLNAMES (Daten) [i])' – Bea

+0

Warum Sind das zwei getrennte Mappings in deiner 'ggplot()'? –

+0

Danke Bea, das hat geholfen! – EddyCurrent

Antwort

1

Sie können + xlab() x- und y-Achse Etiketten angeben und + ylab()

for (i in 1:(ncol(data)-1)){ 
    print(ggplot(data,aes(as.factor(data$Month),data[c(i)],color=as.factor(data$Month))) 
     + geom_boxplot(outlier.colour="black",outlier.shape=16,outlier.size=1,notch=FALSE) 
     + xlab("Month") 
     + ylab(colnames(data)[i]) 
) 
} 
Verwandte Themen