输出ggplot图由于10次方的上标而具有未调整的y轴标签

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

我在 ggplot 代码中使用了下面的代码,因为我想在 y 轴标签的两行不同的行中添加标签“Content”和 10^-3 (μg/mg DW) 的幂。

labs(y=expression(paste("content\n (.", 10^{-3}," µg/mg DW)")))

输出如下:

enter image description here

如何使标签居中并避免在标签中创建不必要的空间? 我尝试更改文本大小或图像大小,但没有帮助。

r ggplot2 plot axis-labels superscript
1个回答
0
投票

一种选择是使用

atop()
创建两条单独的线:

library(ggplot2)

ggplot() +
  labs(y = ~atop(content, (10^{-3}~µg/mg~DW)))

另一种选择是使用

ggtext::element_markdown
,它允许使用一些有限的 HTML 和 CSS 来设置文本样式,即您可以使用
<sup>
标签来创建上标。

ggplot() +
  labs(y = paste("content<br>(10<sup>-3</sup> µg/mg DW)")) +
  theme(axis.title.y = ggtext::element_markdown())

© www.soinside.com 2019 - 2024. All rights reserved.