gpt4 book ai didi

r - 如何以斜体打印小写希腊三角洲 [ggplot 轴标题]

转载 作者:行者123 更新时间:2023-12-02 19:48:19 25 4
gpt4 key购买 nike

我正在使用 ggplot2 包在 R 中绘制稳定同位素数据,并希望在轴标题上以斜体显示小写的 delta 符号。我正在使用 expression() 构建轴标题,但 delta 符号在称为“delta”时不会以斜体打印,如果我使用 unicode'\u03B4'

,则打印为 d

一点背景知识:符号 delta (δ) 是合法的 SI 数量符号,因此应始终以斜体字体打印。参见 Coplen, T. B. (2011)。稳定同位素比和气体比测量结果表达的指南和推荐术语。 质谱中的快速通信25(17),2538-2560。 doi:10.1002/rcm.5129 https://onlinelibrary.wiley.com/doi/full/10.1002/rcm.5129

一些可重现的代码:

require(ggplot2)

set.seed(20)
df <- data.frame(d13C = rnorm(20, -23, 5),
DIC = rnorm(20, 4, 0.2),
d13CDIC = rnorm(20, -8, 2))

ggplot(df, aes(x = d13C, y = d13CDIC)) +
geom_point(aes(fill = DIC), pch = 21, cex = 5) +
labs(x = expression(italic(delta)^13*C~("\211"~VPDB)),
y = expression(italic("\u03B4")^13*C[DIC]~("\211"~VPDB))) +
theme_bw()

给出以下图: enter image description here

还有一个后续问题:我该如何将绘图保存到 svg 设备?使用 ggsave 保存为 .png 时,它可以正确绘制。但是,在绘制到 .svg 设备时出现以下错误:

ggsave(filename = 'isotope_plot.svg', width = 5, height = 3, units = "in")

Error in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x, x$y, : Metric information not available for this family/device

最佳答案

您可以使用 ggtext 来完成此操作。也可能使编写标签的整个代码变得更简单。

library(ggplot2)
library(ggtext) # remotes::install_github("clauswilke/ggtext")

set.seed(20)
df <- data.frame(d13C = rnorm(20, -23, 5),
DIC = rnorm(20, 4, 0.2),
d13CDIC = rnorm(20, -8, 2))

ggplot(df, aes(x = d13C, y = d13CDIC)) +
geom_point(aes(fill = DIC), pch = 21, cex = 5) +
labs(
x = "*&delta;*<sup>13</sup>C (&permil; VPDB)",
y = "*&delta;*<sup>13</sup>C<sub>DIC</sub> (&permil; VPDB)"
) +
theme_bw() +
theme(
axis.title.x = element_markdown(),
axis.title.y = element_markdown()
)

reprex package于2019年11月12日创建(v0.3.0)

关于r - 如何以斜体打印小写希腊三角洲 [ggplot 轴标题],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58812141/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com