如何将上标添加到R中的复杂轴标签

Posted

技术标签:

【中文标题】如何将上标添加到R中的复杂轴标签【英文标题】:How to add superscript to a complex axis label in R 【发布时间】:2019-12-24 11:12:22 【问题描述】:

我有一个复杂的轴标签,我想将其添加到 R 中的图形中。它包括上标和下标,但是,上标的一个元素一直将自身附加到标签中的错误单词。标签应为:umol[tracer]^-1mmol[sponge]^-1incubation^-1[sponge] 之后的上标-1 一直附加到mmol 部分,但它应该在下标[sponge] 之后。有什么帮助吗?

仅供参考,我在下面的代码中使用文本 grob 的原因是因为我有一个主轴标题和一个辅助轴标题。我对 R 很陌生!

grid.arrange(DC, left=textGrob(expression(paste(mu,"mol C or N "["tracer"]," mmol "["sponge"]^-1," incubation "^-1)), x=2.2, rot=90, hjust=0.38, gp=gpar(fontsize=12)))

这是我得到的输出,但我想将 ^-1 移动到单词海绵后面: Graph

更新:

这是我的图表的代码,以数据集iris为例:

BN

使用志强的新代码: b

使用新代码,-1 位于正确的位置,但太小了。 updated image

【问题讨论】:

【参考方案1】:

这是你想要的吗?如果你能提供数据会很有帮助。

grid.arrange(DC, left=textGrob(expression(paste(mu,"mol C or N "["tracer"]," mmol "["sponge"^"-1"]," incubation "^-1)), x=2.2, rot=90, hjust=0.38, gp=gpar(fontsize=12)))

编辑:在-1 前面添加一些空格可以在sponge 之后移动它:

grid.arrange(DC, left=textGrob(expression(paste(mu,"mol C or N "["tracer"]," mmol "["sponge"]^"          -1"," incubation "^-1)), x=2.2, rot=90, hjust=0.38, gp=gpar(fontsize=12)))

【讨论】:

谢谢。我试过这个,虽然它是一个更好的步骤(-1现在在正确的位置),-1比它应该的小,因为它是一个下标的上标,我想得到一个常规大小上标。 我已经编辑了我的答案。我的解决方案可能很笨拙。

以上是关于如何将上标添加到R中的复杂轴标签的主要内容,如果未能解决你的问题,请参考以下文章

R语言ggplot2可视化在轴标签中添加上标(Superscript)和下标(subscript)实战

bquote轴标签ggplot2中的换行符和上标

如何在单个图形上标记多个图形的 x 和 y 轴 [重复]

如何使用 ggtext 为 r 中的轴数据标签着色?

R:绘图轨迹图的轴标签中的下标

将希腊字符添加到轴标题