考虑以下:
图书馆(ggplot2)
df = data.frame(x = rep(0,9), y = rep(0,9), alp = c(1:8/20,1))
ggplot(df) +
geom_point(aes(x, y, alpha=alp), size = 20, col = 'red') +
theme_minimal() + facet_wrap(~ alp) + guides(alpha = F)
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,有虚幻的轮廓。它使叠加许多低透明度点看起来有点像青蛙生成。这只是Mac的事情吗?知道如何删除它吗?
ggplot2 的默认点形状是pch = 19. 它不是可以分别控制其边框和内部颜色的那些点之一;例如,在下面,fill = 'black'没有任何影响。
library(ggplot2)
df = data.frame(x =runif(1000), y = runif(1000))
p = ggplot(df) +
geom_point(aes(x, y), alpha = .1, size = 5, fill = 'black', colour = 'red') +
theme_bw()
p
Run Code Online (Sandbox Code Playgroud)
然而,这个点确实有一条边界线。线的宽度可以用stroke; 如下:
p = ggplot(df) +
geom_point(aes(x, y), stroke = 2, alpha = .1, size = 5, fill = 'black', colour = 'red') +
theme_bw()
p
Run Code Online (Sandbox Code Playgroud)
不幸的是,将stroke 设置为零不会删除边界线;似乎有一个下限。
要移除边界线,请使用具有可操作边界的形状之一;例如,shape = 21。将其“填充”设置为红色,将其“颜色”设置为透明。
p = ggplot(df) +
geom_point(aes(x, y), shape = 21, alpha = .1, size = 5, fill = 'red', colour = 'transparent') +
theme_bw()
p
Run Code Online (Sandbox Code Playgroud)