我想要绘制一组数据 我希望fill(bg)由逻辑变量控制。 我能让它发挥作用的唯一方法是分层两组。
有更好的方法吗?
require(ggplot2)
dat<-data.frame(
x=rep(1:10, 2),
val=c(rnorm(10, 10), rnorm(10, 12)),
grp=rep(c("A", "B"), each=10),
tf=sample(c(TRUE, FALSE), 20, replace=TRUE)
)
ggplot(dat, aes(x, val, col=grp))+
geom_line()+
geom_point(aes(alpha=tf), size=4)+
geom_point(shape=21, size=4, aes(fg=grp))
答案 0 :(得分:3)
您可以使用手动形状来执行此操作。
ggplot(dat, aes(x, val, col=grp)) +
geom_line() +
geom_point(aes(shape=tf), size=4) +
scale_shape_manual(values=c(19,21))