我想在R中我的条形图的y轴添加一个希腊字符。
问题是我需要将这个角色集成到标题中。我想写:
Diameter of aperture ("mu"m)
在轴标签中。
使用
ylab=expression()
我可以用
写下希腊字符ylab="axis title"
我可以在单词之间用适当的空格书写标题。
但是我找不到把所有这些放在一起的方法,并在轴标签上写了一个带有希腊词的正确标签。我希望我很清楚。
答案 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))
答案 2 :(得分:12)
如果您想替换文本中的变量,请使用bquote
。例如,如果您有一个变量mu
并希望在标题中显示它,那么请使用以下习语:
mu <- 2.8
plot(1:3, main=bquote(mu == .(mu)))
.()
中的部分将被替换,因此mu
的值将被打印而不是希腊&#34; mu&#34;字符。有关详细信息,请参阅bquote
上的R帮助。
答案 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
# 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")
#