我正在创建类似于
的绘图矩阵ggplot(mpg, aes(displ, hwy)) + geom_point() + facet_grid(rows = vars(cyl), cols = vars(drv))
现在,我想以某种方式突出显示某些单独的图,例如cyl
是5或6,而drv
是f
的图。因此,理想情况下,可能看起来像这样:
但是我也可以通过将ggtheme
设置为经典或类似外观来使这些面板具有不同的外观。
但是,我目前还不清楚如何在facet_grid
生成的绘图矩阵内修改单个选择的绘图
答案 0 :(得分:1)
从@joran答案中发现here,这就是我得到的:
已编辑[EDIT]代码以选择多个方面
if(!require(tidyverse)){install.packages("tidyverse")}
library(tidyverse)
#dummy dataset
df = data.frame(type = as.character(c("a", "b", "c", "d")),
id = as.character(c("M5", "G5", "A7", "S3")),
val = runif(4, min = 1, max = 10),
temp = runif(4))
# use a rectangle to individually select plots
ggplot(data = df, aes(x = val, y = temp)) +
geom_point() +
geom_rect(data = subset(df, type %in% c("b", "c") & id %in% c("A7","G5")),
fill = NA, colour = "red", xmin = -Inf,xmax = Inf,
ymin = -Inf,ymax = Inf) +
facet_grid(type~id)
它不使用theme()
,但看起来足够突出某些方面。