63

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

Diameter of aperture ("mu"m)

在轴标签中。

ylab=expression()

我可以写希腊字符

ylab="axis title"

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

但是我找不到将所有这些放在一起并在轴标签中写一个带有希腊词的适当标签的方法。我希望我足够清楚。

4

6 回答 6

65

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

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

或者对于你的情况,我猜:

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

这对你有用吗?

于 2011-05-18T13:00:30.223 回答
42

我想我正确地遵循了你的问题。在对的~调用中强制在字符之间留一个空格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))

在此处输入图像描述

于 2011-05-18T13:01:10.870 回答
14

如果要替换文本中的变量,请使用bquote. 例如,如果您有一个变量mu并想在标题中显示它,则使用以下成语:

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

包含在其中的部分.()将被替换,因此mu将打印 的值而不是希腊语“mu”字符。有关详细信息,请参阅 R 帮助bquote

在此处输入图像描述

于 2015-02-11T13:20:45.063 回答
9

This should be much more straight forward with latex2exp:

require(latex2exp)
plot(1, xlab = TeX('$\\mu$'))
于 2017-03-08T13:37:14.453 回答
4

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

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

mu封闭在做的hat()伎俩。

于 2015-03-25T08:29:33.037 回答
0

在使用带有合适 TrueType 字体的 Windows 10 和 R 3.62 上的帮助包 utf8 时,我对上面 Chase 的绘图示例(从 2011 年开始)给出了更新的答案。在我的回答中,我为 μ 赋值。我只是用十六进制 (??) 代码调用的 unicode 字符。空格只是引号内的“空格”。在这里查看我的答案:

另见: http ://www.unicode.org/Public/10.0.0/ucd/UnicodeData.txt

utf8 包 {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")
#

在此处输入图像描述

于 2020-01-17T18:59:19.003 回答