'geom_label_repel' 内のフォントだけを取得しalpha=1
て、背景だけを取得する方法はあるでしょうかalpha=.2
?
問題は、非常に密度の高いプロットになることです。テキストだけを使用すると、テキストは読めなくなります。透明度のないラベルを使用すると、ラベルは完全に読めますが、ラベルの後ろが見えません。ラベルに透明度を選択すると、フォントも透明になり、背景とのコントラストが不十分になるため、フォントも読めなくなります。
私が本当に欲しいのは、フォントの周りに白い影があることです :-)
問題を示す最小限の例を以下に示します。
library(ggplot2)
library(ggrepel)
library(stringi)
set.seed(1)
df <- data.frame(x=rnorm(10000),
y=rnorm(10000),
label=NA)
df$label[1:26] <- stringi::stri_rand_strings(26,8)
ggplot(df, aes(x, y)) +
geom_point(alpha=.3) +
geom_label_repel(aes(label=label),
label.size = NA,
alpha = 0.6,
label.padding=.1,
na.rm=TRUE) +
theme_bw()
ベストアンサー1
ggplot(df, aes(x, y)) +
geom_point(alpha=.3) +
geom_label_repel(aes(label=label),
label.size = NA,
label.padding=.1,
na.rm=TRUE,
fill = alpha(c("white"),0.5))
これは私の場合はうまくいきました。アルファを色で設定できます。塗りつぶし設定は背景のみなので、テキストは影響を受けません。テキストを重ねる場合の利点は、テキストが重ならないように「反発」を使用できることです。2 つのレイヤーを適切に並べる必要はありません。