Jor*_*dan 2 expression r ggplot2 italic ggtext
我正在使用 ggplot2 包在 R 中绘制稳定同位素数据,并希望在轴标题上以斜体显示小写的 delta 符号。我正在使用 expression() 构建轴标题,但 delta 符号在称为“delta”时不会以斜体打印,或者如果我使用 unicode\'\\u03B4\' 则不会打印为d
\n\n一点背景知识:符号 delta ( \xce\xb4 ) 是合法的 SI 数量符号,因此应始终以斜体字体打印。参见 Coplen, TB (2011)。稳定同位素比和气体比测量结果表达的指南和推荐术语。质谱快速通讯,25(17),2538-2560。doi:10.1002/rcm.5129\n https://onlinelibrary.wiley.com/doi/full/10.1002/rcm.5129
\n\n一些可重现的代码:
\n\nrequire(ggplot2)\n\nset.seed(20)\ndf <- data.frame(d13C = rnorm(20, -23, 5),\n DIC = rnorm(20, 4, 0.2),\n d13CDIC = rnorm(20, -8, 2))\n\nggplot(df, aes(x = d13C, y = d13CDIC)) +\n geom_point(aes(fill = DIC), pch = 21, cex = 5) +\n labs(x = expression(italic(delta)^13*C~("\\211"~VPDB)),\n y = expression(italic("\\u03B4")^13*C[DIC]~("\\211"~VPDB))) +\n theme_bw()\nRun Code Online (Sandbox Code Playgroud)\n\n\n\n后续问题:\n如何将绘图保存到 svg 设备?使用 ggsave 保存为 .png 时,它可以正确绘制。但是,在绘制到 .svg 设备时出现以下错误:
\n\nggsave(filename = \'isotope_plot.svg\', width = 5, height = 3, units = "in")\nRun Code Online (Sandbox Code Playgroud)\n\n\n\ngrid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,\nx$y, 中的错误:此系列/设备的指标信息不可用
\n
您可以使用 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 = "*δ*<sup>13</sup>C (‰ VPDB)",
y = "*δ*<sup>13</sup>C<sub>DIC</sub> (‰ VPDB)"
) +
theme_bw() +
theme(
axis.title.x = element_markdown(),
axis.title.y = element_markdown()
)
Run Code Online (Sandbox Code Playgroud)

由reprex 包(v0.3.0)于 2019-11-12 创建
| 归档时间: |
|
| 查看次数: |
3113 次 |
| 最近记录: |