向带刻面的光栅图添加点
adding points to raster plots with facets
我有一些用小平面分隔的光栅图。在每个情节中,我想添加一个独立的点。 This 展示了如何添加一个点,但我只能将相同的点添加到所有绘图。
假设我想在下面三个plots的最大值处加一个点(下面给出代码)。我该怎么做?
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)
您需要有一个单独的 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 package (v0.3.0)
于 2020 年 1 月 11 日创建
我有一些用小平面分隔的光栅图。在每个情节中,我想添加一个独立的点。 This 展示了如何添加一个点,但我只能将相同的点添加到所有绘图。
假设我想在下面三个plots的最大值处加一个点(下面给出代码)。我该怎么做?
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)
您需要有一个单独的 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 package (v0.3.0)
于 2020 年 1 月 11 日创建