latex2exp——在R绘图中使用Latex公式

latex2exp——在R绘图中使用Latex公式

该包的GitHub地址为:stefano-meschiari/latex2exp,让你可以在R绘图中使用Latex公式。

安装

1
devtools::install_github("stefano-meschiari/latex2exp")

使用

在R基础绘图系统中使用

1
2
3
4
5
6
7
8
9
x <- seq(0, 4, length.out = 100)
alpha <- 1:5
plot(x, xlim = c(0, 4), ylim=c(0, 10),
xlab = "x", ylab = TeX('$\\alpha x^\\alpha$, where $\\alpha \\in 1\\ldots 5$'),
type = 'n',
main = TeX('Using $\\LaTeX$ for plotting in base graphics!')
)
invisible(sapply(alpha, function(a) lines(x, a*x^a, col = a)))
legend('topleft', legend = TeX(sprintf("$\\alpha = %d$", alpha)), lwd = 1, col = alpha)

在ggplot2绘图中使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
library(plyr, help, pos = 2, lib.loc = NULL)
x <- seq(0, 4, length.out = 100)
alpha <- 1:5
data <- mdply(alpha, function(a, x) data.frame(v = a*x^a, x = x), x)
p <- ggplot(data, aes(x = x, y = v, color = X1)) +
geom_line() +
ylab(TeX('$\\alpha x^\\alpha$, where $\\alpha \\in 1\\ldots 5$')) +
ggtitle(TeX('Using $\\LaTeX$ for plotting in ggplot2. I $\\heartsuit$ ggplot2!')) +
coord_cartesian(ylim = c(-1, 10)) +
guides(color = guide_legend(title = NULL)) +
scale_color_discrete(labels = lapply(sprintf('$\\alpha = %d$', alpha), TeX)) +
theme_bw(base_size = 15)
# 注意,ggplot2的图例标签是个list而非向量

print(p)

直接绘制公式

1
plot(TeX("一个 $\\LaTeX$ 公式:$\\frac{2hc^2}{\\lambda^5} \\, \\frac{1}{e^\\frac{hc}{\\lambda k_B T}} - 1$"), cex = 2, family = "STSong")

cheatsheet

1
latex2exp_supported(plot = T)

示例

1
latex2exp_examples

# R

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×