如何在R图中用乳胶文本更改字体?

时间:2019-07-04 18:09:17

标签: r latex

我需要在R图中使用乳胶内容以粗体写文本,但还包含一个变量值。

是否有一种方法可以在bf中写入包含变量值的乳胶文本?

t1 <- TeX(paste("$\\textbf{\\left[\\frac{M}{L}\\right]_d =}$", sprintf(fmt="%.3f",XML), sep=""))

text(PosX1,PosY, t1, adj=c(0,0), cex=1.0, font=2)

在这种情况下,变量是XML,但是放置font=2不会更改XML值的字体...

在这里我写了一个带有假情节的例子。用TeX编写的M / L在bf中,我想在bf中也从变量获得0.001的值。

library(graphics)
library(latex2exp)

pdf(file="Test2.pdf", 15, 10)
par(mar=c(5.0, 5.0, 6.0, 5.0))
XML = 0.001
x = seq(0,40, 0.2)
y = 1*exp(-((x - 20)/5)^2)
plot(x,y, pch=19, cex=1.0, xlab = "X", ylab = "Y")
#
PosX = 5
PosY = 0.8
t1 <- TeX(paste("$\\textbf{\\left[\\frac{M}{L}\\right] =}$",    sprintf(fmt="%.3f",XML), sep=""))
text(PosX,PosY, t1, adj=c(0,0), cex=1.0, font=2)

dev.off()

1 个答案:

答案 0 :(得分:0)

我建议进行两项更改:

  • 由于您处于数学模式,请使用\mathbf而不是`\textbf¸
  • 扩展\mathbf和数学模式的范围以包括数字

组合:

library(graphics)
library(latex2exp)

pdf(file="Test2.pdf", 15, 10)
par(mar=c(5.0, 5.0, 6.0, 5.0))
XML = 0.001
x = seq(0,40, 0.2)
y = 1*exp(-((x - 20)/5)^2)
plot(x,y, pch=19, cex=1.0, xlab = "X", ylab = "Y")
#
PosX = 5
PosY = 0.8
t1 <- TeX(paste("$\\mathbf{\\left[\\frac{M}{L}\\right] =",
                 sprintf(fmt="%.3f",XML),
                 "}$",
                 sep=""))
text(PosX,PosY, t1, adj=c(0,0), cex=1.0, font=2)

dev.off()

结果:

enter image description here