实用技巧
这个是原始的代码,我想使用一个变量动态来代替里面的se或者是sd,一搬来说直接的文本格式肯定是行不通的,于是我问AI找到了解决方案
p <- p + geom_text(data = plotdata, aes(x = group,
y = mean + se + max(plotdata$mean)*0.08,
label = marker,fontface = "plain"),
size = Size_letters,
position = position_dodge(1),
family = temp_family)
在 ggplot2
中,你可以使用 eval
和 parse
来动态设置表达式,从而将一个字符串变量转换为 ggplot 识别的符号。以下是解决方案的步骤:
动态替换变量
- 定义
dis
变量(如"sd"
或"se"
)。 - 在
aes()
中,使用eval(parse(text = ...))
动态解析dis
。 - 确保
dis
所引用的变量在plotdata
数据框中存在。
我的改动:
其中的dis为中间的变量,ggplot可以正确识别
dis = "sd" # se sd
p <- p + geom_text(data = plotdata, aes(x = group,
y = mean + eval(parse(text = dis)) + max(plotdata$mean)*0.08,
label = marker,fontface = "plain"),
size = Size_letters,
position = position_dodge(1),
family = temp_family) }
get()也是可以使用的
get(error_bar_type)
本文最后更新于
2024-12-31
如有失效,请留言
THE END