【发布时间】:2019-11-14 04:06:45
【问题描述】:
我想在标题中包含“in”一词的标题中下标字母,事实证明这很令人头疼。我查看了this thread 并尝试将其翻译为我的目的,但没有任何成功。
我想创建一个标题为“SMMAsn 中的增长率”,其中“Asn”是下标的。 如果我使用标准引用的标题,它显然会按原样显示。
当我尝试使用时
labs(title=expression(Growth Rate 'in' SMM[Asn]))
我收到一个错误:
Error: Cannot add ggproto objects together. Did you forget to add this object to a ggplot object?
R Studio 在该行还指出了一个错误:
unexpected token: 'Rate'
unexpected token: 'SMM'
unexpected token: '['
unexpected closing bracket: ']'
unmatched opening bracket: '('
unexpected token: ')'
只是为了看看我是否可以让下标工作,我尝试只对需要下标的单词使用表达式函数:
labs(title = expression(SMM[Asn]))
效果很好!我感到非常兴奋和想,因为表达式的“增长”部分之后的所有内容都会给我一些错误,我也许可以将标题的其余部分和需要下标的部分与表达式函数连接起来:
labs(title=c("Growth Rate in", (expression(SMM[Asn]))))
我所做的只是给我一个标题,上面写着“增长率”,而将需要下标的部分完全排除在标题之外。
我有点不知所措。除了 R,我没有接受过任何语言的正式培训,所以我担心这是我缺少的一些基本的编码逻辑,但这让我筋疲力尽,我无法弄清楚。任何有关如何改善这种情况的建议将不胜感激。
如果有帮助的话,这里是整个上下文:
ggplot(klett.smm.asn2, aes(x=Strain, y=Generations.hr, fill=Strain))+
geom_bar(stat="identity", width = 0.7, color="black")+
geom_errorbar(aes(ymin=Generations.hr-StDev, ymax=Generations.hr+StDev), width=.1, size = 1)+
theme(axis.text.x=element_text(hjust=.5, vjust=1))+
theme(text=element_text(size=30),
plot.title = element_text(hjust = 0.5),
legend.position="none",
axis.title.x = element_blank() )+
ylab("Generations/hr")+
#labs(title=expression(Growth Rate 'in' SMM[Asn]))+
#labs(title = expression(SMM[Asn]))
labs(title=c("Growth Rate in", (expression(SMM[Asn]))))+
scale_fill_manual(values=c("#A0A0A0","#45b500", "#00b3f2", "#ff61c7"))+
scale_y_continuous(limits=c(0,0.9))+
geom_text(x = 4, y = 0.9, label = "**", size = 10)+
geom_text(x = 3, y = 0.88, label = "**", size = 10)+
geom_text(x = 2, y = 0.84, label = "*", size = 10)
【问题讨论】: