2017-06-22 16 views
0

geom_text()を使って見たような表を描画する必要があります。position_jitter/dodgeとhjustを使用してテーブルのように見せて、テキストを重複または配置してみました。斜めにここでgeom_text ggplot2でのテキストの重複とテキストの整列

はサンプルコードです:

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 

ようですが、プロットを生成します。私は、縦方向に直線に並んですべてのテキストを配置することで支援が必要な enter image description here

おかげ

答えて

1

は、覆い焼きは自動的にあなたがこのケースでxを含む、マッピングされている任意の因子変数に設定されているgroup、によって行われます。問題を解決するには、デフォルトをオーバーライド:

単に
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

素晴らしいです! –

関連する問題