使用 if else 添加 ggplot 层时不应用主题

问题描述 投票:0回答:0

我正在创建 ggplots,其中一些图层添加了使用 if-else 函数调整的标签字符串。添加带有已解析字符串的 ggtitle 时,我的主题未实现。下面是同一次运行的两个图,左边是在没有调整的情况下构建的,右边是通过解析参数和更改一些字符来调整的,以便正确设置下标和上标的格式。

Chart with examples

如您所见,左侧标题为粗体格式,而右侧标题为常规格式。它们都是用 ggtitle 创建的。

参数字符串的调整是用这个简单的代码完成的:

if (grepl("\\[|\\^", param)) { #To only parse if needed because of super-/subscript
    param_exp <- parse(text=gsub(" ", "~", gsub(",", "." ,param)))
} else {
    param_exp = param
}

主题添加了简单的plot.title。左边的图表没有上标,因此是一个未解析的字符串。右侧图表的标题已被解析,因此是一个表达式。主题不能实现在表达式上吗?

r parsing ggplot2 themes expression
© www.soinside.com 2019 - 2024. All rights reserved.