2017-06-22 2 views
0

Ich muss Tabelle wie durch geom_text() zeichnen und ich habe versucht, Position_jitter/dodge und hjust, um es wie eine Tabelle aussehen und Text zu ändern überlappend oder angeordnet in a schräge Art und Weise.geom_text überlappender Text und Ausrichtung von Text in ggplot2

Hier ist ein Beispielcode:

require(ggplot2) 
require(reshape2) 

dia3 <- melt(CO2, id = c(colnames(CO2)[1],colnames(CO2)[2])) 
dia3 

p <- ggplot(dia3, aes_string(x=colnames(dia3)[2],y=colnames(dia3)[1],color = colnames(dia3)[3]))+ 
    geom_text(aes_string(label = colnames(dia3)[4]), 
      position=position_dodge(width = 0.5), 
      hjust = 0.5, 
      size = 2.5 
)+ 
    scale_x_discrete(drop = TRUE)+ 
    theme_bw()+ 
    theme(
    axis.ticks.x = element_blank(), 
    axis.text.y= element_text(color="black", size=8), 
    axis.title.y = element_blank(), 
    axis.title.x = element_blank(), 
    legend.key = element_rect(fill="white"), legend.background = element_rect(fill=NA), 
    legend.position="bottom", 
    legend.title = element_blank(), 
    panel.grid = element_blank(), 
    panel.border = element_blank() 
) 
p 

Es produziert Grundstück wie: enter image description here

ich bei der Organisation der gesamten Textes in vertikal geraden Linien ausgerichtet Hilfe benötigen.

Dank

Antwort

1

Die ausweich wird von group, durchgeführt, die zu irgendwelchen Faktor Variablen automatisch eingestellt Sie zugeordnet haben, die x schließt in diesem Fall. Überschreiben Sie den Standard das Problem zu beheben:

ggplot(dia3, aes_string(x = colnames(dia3)[2], y = colnames(dia3)[1], 
         color = colnames(dia3)[3], group = colnames(dia3)[3]))+ 
    geom_text(aes_string(label = colnames(dia3)[4]), 
       hjust = 0.5, 
       size = 2.5, 
       position = position_dodge(0.5)) + 
    scale_x_discrete(drop = TRUE) 

enter image description here

+1

Simply Awesome !!! –

Verwandte Themen