2017-07-22 4 views
0

Wie kann ich diesen Code ändern, um den Abstand zwischen zweiter und dritter Ebene auf dem Boxplot festzulegen? Ich meine, ich möchte das Boxplot in zwei Abschnitte spalten, a und b auf der rechten Seite und c auf der linken Seite.So teilen Sie das Boxplot einer Variablen mit mehreren Ebenen

library(ggplot2) 
df <- data.frame(group=sample(c("a","b","c"),100,replace=T),x=rnorm(100),y=rnorm(100)*rnorm(100)) 
xlabs <- paste(levels(df$group),"\n(N=",table(df$group),")",sep="") 
ggplot(df,aes(x=group,y=x,color=group))+geom_boxplot()+scale_x_discrete(labels=xlabs) 

Antwort

0

versuchen, neue Variable hinzuzufügen in ggplot für Facettieren.

df$facets <- ifelse(df$group == "a" | df$group == "b", "ab", "c") 

Jetzt mit facet_grid plotten und modifizierte scale_x_dsicrete.

ggplot(df,aes(x=group,y=x,color=group)) + 
    geom_boxplot()+ 
    facet_grid(~ facets, scales = "free_x", space = "free_x") + 
    scale_x_discrete(breaks = levels(df$group), labels = xlabs) 

Wenn Ihre Frage beantwortet wurde, bitte stellen Sie sicher, eine Antwort für weitere Hinweise zu akzeptieren.

Verwandte Themen