【发布时间】:2020-03-07 18:38:47
【问题描述】:
我正在使用 ggplot2 包在 R 中绘制稳定同位素数据,并希望轴标题上的小写 delta 符号以斜体字打印。我正在使用 expression() 来构建轴标题,但是当我使用 unicode'\u03B4'
一点背景:符号 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()
还有一个后续问题: 如何将绘图保存到 svg 设备?使用 ggsave 保存到 .png 时,它可以正确绘制。但是,在绘制到 .svg 设备时出现以下错误:
ggsave(filename = 'isotope_plot.svg', width = 5, height = 3, units = "in")
grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x, x$y, : 此系列/设备的指标信息不可用
【问题讨论】:
-
将 δ 符号复制并粘贴到脚本中也会返回 d,其中需要 δ。例如表达式(斜体(δ)^13*C[DIC]~("\211"~VPDB))
标签: r ggplot2 expression italic ggtext