1

ポイントの代わりにラベルを使用して ggplot グラフを作成したいのですが、それらが重なり合っているため、読み取ることができません。互いに上書きしないように自動的にシフトする良い方法はありますか?

df = data.frame(x = c(1,4,5,6,6,7,8,8,9,1), y = c(1,1,2,5,5,5,3,5,6,4),
                label = rep(c("long_label","very_long_label"),5))
ggplot(data=df) + geom_text(data=df,aes(x=x, y=y, label = label))

ありがとうございました

4

1 に答える 1

5

ggrepel(昨日 CRAN にリリース - 2016 年 1 月 9 日) は、これらの状況に合わせて作られているようです。ただし、注意: v2.0.0ggrepelが必要ですggplot2

df = data.frame(x = c(1,4,5,6,6,7,8,8,9,1), y = c(1,1,2,5,5,5,3,5,6,4),
                label = rep(c("long_label","very_long_label"),5))

library(ggplot2)
library(ggrepel)

# Without ggrepel
ggplot(data = df) + 
   geom_text(aes(x = x, y = y, label = label))

# With ggrepel
ggplot(data = df) + 
     geom_text_repel(aes(x = x, y = y, label = label), 
             box.padding = unit(0.1, "lines"), force = 2,
             segment.color = NA) 

ここに画像の説明を入力

于 2016-01-11T06:15:24.250 に答える