控制ggplot2中的bg和fg

时间:2013-10-18 09:45:39

标签: r ggplot2

我想要绘制一组数据 我希望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))

1 个答案:

答案 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))