将希腊字符添加到轴标题

时间:2011-05-18 12:41:33

标签: r unicode labels plotmath

我想在R中我的条形图的y轴添加一个希腊字符。
问题是我需要将这个角色集成到标题中。我想写:

Diameter of aperture ("mu"m)

在轴标签中。

使用

ylab=expression()

我可以用

写下希腊字符
ylab="axis title"

我可以在单词之间用适当的空格书写标题。

但是我找不到把所有这些放在一起的方法,并在轴标签上写了一个带有希腊词的正确标签。我希望我很清楚。

6 个答案:

答案 0 :(得分:62)

如果您使用的是plotmath{grDevices},则主帮助页面(plotmath)会包含您想要的示例:

xlab = expression(paste("Phase Angle ", phi))

或者你的情况,我想:

ylab = expression(paste("Diameter of aperture ( ", mu, " )"))

这对你有用吗?

答案 1 :(得分:33)

我认为我正确地遵循了你的问题。 ~强制调用expression()中的字符之间的空格。这是你想要的吗?

plot(1:3, ylab = expression("Diameter of apeture (" * mu ~ "m)"),
  , xlab = expression("Force spaces with ~" ~ mu ~ pi * sigma ~ pi)
  , main = expression("This is another Greek character with space" ~ sigma))

enter image description here

答案 2 :(得分:12)

如果您想替换文本中的变量,请使用bquote。例如,如果您有一个变量mu并希望在标题中显示它,那么请使用以下习语:

mu <- 2.8
plot(1:3, main=bquote(mu == .(mu)))

.()中的部分将被替换,因此mu的值将被打印而不是希腊&#34; mu&#34;字符。有关详细信息,请参阅bquote上的R帮助。

enter image description here

答案 3 :(得分:5)

使用latex2exp

,这应该更加直截了当
require(latex2exp)
plot(1, xlab = TeX('$\\mu$'))

答案 4 :(得分:3)

并且,如果您正在处理估计数量,plotmath{grDevices}还可以为您的希腊字母添加帽子:

ylab = expression(paste("Diameter of aperture ( ", hat(mu), " )"))

mu中的hat()可以解决问题。

答案 5 :(得分:0)

当我使用带有合适的TrueType字体的Windows 10和R 3.62上的帮助包utf8时,我对上述Chase的绘图示例(自2011年起)给出了更新的答案。 在我的答案中,我给μ赋了一个值。我只是用十六进制(??)代码来标注unicode字符。空格只是引号内的“空格”。查看我的答案here

另请参阅: http://www.unicode.org/Public/10.0.0/ucd/UnicodeData.txt

utf8-package {utf8}

# pi small case
utf8_print("\u03C0")
"π"
# sigma small case
utf8_print("\u03C3")
"σ"

μ <- abs(digamma(1))
μseq <- seq(μ,3*μ,μ)
dev.new()
plot(μseq, ylab = "Diameter of apeture ( μ m)",
  , xlab = "Force spaces with ~ μ  \u03C0  \u03C3  \u03C0 ",
  , main = "This is another Greek character with space \u03C3")
#

enter image description here