2016-05-14 6 views
0

Ich versuche, zweite Zeile x label in ggplot zu erstellen. Ein Vektor mit Buchstaben muss dort gedruckt werden.Paste Vektor zu Ausdruck in x Etikett

DF 
line 1 line 2 
A   1 
B   1 
C   2 
D   2 

fand ich, dass die zweite Zeile von Etiketten mit

xlab = expression(atop(paste("line 1"), 
      "line 2")) 

druckt er nur „Linie 1“ Aber natürlich hinzugefügt werden könnte und „Linie 2“. Vielen Dank für Anregungen.

+0

es ergibt sich 'DF $ line1' in der ersten Zeile und' DF $ line2' in der zweiten, aber nicht mit Daten enthalten, da – HoHoHo

Antwort

0

haben Sie einen Blick auf mtext

mtext(c(paste(DF[,1], collapse=' '), paste(DF[,2], collapse=' ')), line=2:1) 

EDIT: Dies erzeugt, was Sie wollen, oder?

x <- runif(n=10) 
lt <- data.frame(line1=c('A', 'B', 'C', 'D'), line2=rep(1:2, each=2)) 
plot(x) 
mtext(c(paste(lt$line1, collapse=' '), paste(lt$line2, collapse=' ')), line=2:1) 

EDIT2: Mit ggplot2

df <- data.frame(gp = factor(rep(letters[1:3], each = 10)), y = rnorm(30)) 
library(ply) 
ds <- ddply(df, .(gp), summarise, mean = mean(y), sd = sd(y)) 
plot.new() 
ggplot(df, aes(x = gp, y = y)) + geom_point() + geom_point(data = ds, aes(y = mean), colour = 'red', size = 3) 
mtext(c('x', 'y'), line=1:2, side=2) 
+0

Es nur Drucke Namen der Spalten in 2 Zeilen – HoHoHo

+0

Nein druckt: "ABCD" in der ersten Zeile und "1 1 2 2" in der zweiten Zeile. Oder was willst du? – FlorianSchunke

+0

Ich benutze 'ggplot2' es scheint nicht' mtext' zu akzeptieren – HoHoHo