0

我有一些用刻面分隔的栅格图。在每个情节中,我想添加一个独立点。显示了如何添加一个点,但我只能将同一个点添加到所有地块。

假设我想在以下三个图的最大值处添加一个点(代码如下)。我怎样才能做到这一点?

xy    <- expand.grid(0:20,0:20)
data  <- rbind(xy,xy,xy)
group <- rep(1:3,each=nrow(xy))
set.seed(100)
z     <- rnorm(nrow(data))
data <- cbind(data,group,z)
colnames(data) <- c("x","y","group","z")
library(ggplot2)
ggplot(data,aes(x,y,z))+geom_raster(aes(fill=z))+facet_wrap(~group)
4

1 回答 1

2

您需要有一个带有点坐标的单独 data.frame,其中还包含组变量:

library(ggplot2)

xy    <- expand.grid(0:20,0:20)
data  <- rbind(xy,xy,xy)
group <- rep(1:3,each=nrow(xy))
set.seed(100)
z     <- rnorm(nrow(data))
data <- cbind(data,group,z)
colnames(data) <- c("x","y","group","z")


pointxy <- data.frame(
  x = runif(10, 0, 20),
  y = runif(10, 0, 20),
  group = sample(1:3, 10, TRUE)
)

ggplot(data,aes(x,y,z))+
  geom_raster(aes(fill=z))+
  geom_point(data = pointxy) +
  facet_wrap(~group)

reprex 包于 2020-01-11 创建(v0.3.0)

于 2020-01-11T11:11:07.203 回答