добавление точек к растровым графикам с фасетами - PullRequest
0 голосов
/ 11 января 2020

У меня есть несколько растровых графиков, разделенных гранями. В каждом сюжете я хочу добавить независимую точку. Это показывает, как добавить точку, но я могу добавить только одну точку ко всем графикам.

Предположим, я хочу добавить точку при максимальном значении следующих трех графиков (код дается ниже). Как я могу это сделать?

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)

1 Ответ

2 голосов
/ 11 января 2020

Вам потребуется отдельный 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)

Создано в 2020- 01-11 представьте пакет (v0.3.0)

...