请考虑以下事项:
库(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)
正如你所看到的那样有假动作。它使得覆盖许多低透明度的点看起来有点像frogspawn。这只是Mac的事吗?知道如何删除它吗?
答案 0 :(得分:4)
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
然而,这一点确实有一条边界线。可以使用stroke
更改线条的宽度;如下:
p = ggplot(df) +
geom_point(aes(x, y), stroke = 2, alpha = .1, size = 5, fill = 'black', colour = 'red') +
theme_bw()
p
不幸的是,将笔划设置为零不会删除边界线;似乎有一个下限。
要移除边界线,请使用其中一个具有可操作边框的形状;例如,shape = 21
。设置"填充"红色和它的颜色"透明。
p = ggplot(df) +
geom_point(aes(x, y), shape = 21, alpha = .1, size = 5, fill = 'red', colour = 'transparent') +
theme_bw()
p
答案 1 :(得分:1)
see::geom_point2
绘制没有该边框的点。
library(ggplot2)
library(see)
df = data.frame(x = rep(0,9), y = rep(0,9), alp = c(1:8/20,1))
ggplot(df) +
geom_point2(aes(x, y, alpha=alp), size = 20, col = 'red') +
theme_minimal() + facet_wrap(~ alp) + guides(alpha = F)
由reprex package(v0.3.0)于2020-05-14创建