r - 在ggplot2中使用`facet_grid`时突出显示/在一些图周围画一个框
问题描述
我正在创建一个类似于
ggplot(mpg, aes(displ, hwy)) + geom_point() + facet_grid(rows = vars(cyl), cols = vars(drv))
现在,我想用一些方法来突出一些单独的图,比如5cyl
或 6 和drv
. f
因此,理想情况下,这可能如下所示:
但我也会对那些通过设置ggtheme
为经典或类似的面板具有不同外观感到满意。
但是,我非常不清楚如何在通过生成的图矩阵中修改单独选择的图facet_grid
解决方案
从这里找到的@joran 答案,这就是我得到的:
[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()
,但看起来很简单,可以突出一些方面。
推荐阅读
- c - 如何将浮点变量存储到 int 数组(C)?
- c++ - 在“使用 DWM 的自定义窗口框架”之后努力创建功能性自定义 Windows 10 框架装饰
- excel - 相关下拉+固定公式和计算
- python - 执行 Python 脚本以从 Web 服务器控制 GPIO
- java - 我想使用 spring boot 创建消息应用程序
- javascript - 当 fetch 返回 404 时替换 img url
- r - 使用 dplyr 为不同的组选择不同数量的 top_n
- validation - Keras 回调 on_epoch_end 抛出错误(Nonetype 没有 len())
- javascript - 在 Cors 中发送原始 cookie 不适用于 VideoJS
- blogger - 如何将 googleusercontent.com 更改为外部图片博主