r - 在 ggplot 中使用分面图标题进行标签解析
问题描述
我正在尝试将带有一些数学符号的字符变量传递给 ggplot facet,以便各个图的标题可以用适当的数学符号很好地显示。有没有一种很好的方法可以让下面的代码工作?
library(tidyverse)
plot_data <- mpg %>%
mutate(fvar=case_when(
drv=="f" ~ "X >=10",
drv=="4" ~ "0<X<=1",
drv=="r" ~ "1<X<10"
))
ggplot(plot_data, aes(x=displ, y=cty)) +
geom_point() +
facet_wrap(~ fvar, labeller=label_parsed)
解决方案
这可以通过使用不可见的分组来实现{}
(参见参考资料?plotmath
)。
使用{}
我们可以将表达式 like0 < X <= 1
转换为“有效”的 R like 表达式{0 < X} <= 1
,可以通过以下方式计算label_parsed
:
library(tidyverse)
plot_data <- mpg %>%
mutate(fvar=case_when(
drv=="f" ~ "X >=10",
drv=="4" ~ "{0<X}<=1",
drv=="r" ~ "{1<X}<10"
))
ggplot(plot_data, aes(x=displ, y=cty)) +
geom_point() +
facet_wrap(~ fvar, labeller = label_parsed)
推荐阅读
- java-native-interface - 如何使用Angr分析共享库中的JNI函数?
- pandas - 使用 to_datetime 几个列名
- rdf - 如何从源数据生成语言标签
- matplotlib - 如何根据图形大小控制 matplotlib 注释(更具体地说是箭头)?
- javascript - 我的复选框未预先填充 redux 状态中存在的值,即 true 或 false
- csv - 将 Dataprep 配方导出为 CSV 时重复标头
- firebase - 在 Flutter 中捕获云 Firestore 文档快照错误
- ssl - GKE - 使用 Google 托管证书 (mcrt) 进行 SSL 连接到可扩展服务代理 (ESP)
- php - oath2 访问令牌 API 响应“expires_on”日期无效
- angular - 使用模板驱动验证未定义角度变量错误