绘图 y 标签中表达式中的斜体希腊语 Psi

问题描述 投票:0回答:1

我尝试在

plot
的 y 标签中使用斜体大写 Psi。到目前为止我已经能够使用:

  1. 非斜体希腊语 Psi
  2. 斜体字
  3. 斜体希腊语 Beta

但是,我无法使用斜体希腊语 Psi。也许我没有使用正确的 Psi 代码?也许默认字体不包含 Psi 但包含 Beta?

以下是我迄今为止想到的示例:

x <- 1:10
y <- x^1.5

# Greek symbol works
plot(y, x, type = 'l', col = 'black',
ylab = expression('Daily ' ~(1 - psi[13])),
xlab = 'my x label')

# italic word works
plot(y, x, type = 'l', col = 'black',
ylab = expression(italic('Daily ') ~(1 - psi[13])),
xlab = 'my x label')

# italic Greek Beta symbol works
# https://stackoverflow.com/questions/25732949/italic-greek-letters-in-r-plot
plot(y, x, type = 'l', col = 'black',
ylab = expression('Daily ' ~(1 - italic('\u03B2'[13]))),
xlab = 'my x label')

# italic Greek Psi symbol does not work
plot(y, x, type = 'l', col = 'black',
ylab = expression('Daily ' ~(1 - italic('\u03A8'[13]))),
xlab = 'my x label')

如果

'\u03A8'
不是 Psi 的正确代码,您能告诉我正确的代码是什么以及在哪里可以找到它吗?我尝试过其他字体但没有成功,如下所示:

windows(family='serif')
plot(y, x, type = 'l', col = 'black',
ylab = expression('Daily ' ~(1 - italic('\u03A8'[13]))),
xlab = 'my x label')

windows(family='sans')
plot(y, x, type = 'l', col = 'black',
ylab = expression('Daily ' ~(1 - italic('\u03A8'[13]))),
xlab = 'my x label')

windows(family='symbol')
plot(y, x, type = 'l', col = 'black',
ylab = expression('Daily ' ~(1 - italic('\u03A8'[13]))),
xlab = 'my x label')

我签入了

MSWord
,我认为那里的符号是
03C8
,而不是
03A8
。但是,
'\u03C8'
R
中也不起作用。

我还尝试使用此处答案中描述的方法:

R 图中的斜体希腊字母?

这个答案似乎需要加载一个名为

greeks
的较大数据集。如果我这样做然后使用这些行:

start_e <- expression()
sapply( greeks[48,3], function(x) c(start_e, bquote(italic(.(intToUtf8(x))[13]) ) ) )

返回:

expression(italic("Ψ"[13]))

但是,如果我使用:

plot(y, x, type = 'l', col = 'black', 
ylab = sapply( greeks[48,3], function(x) c(start_e, bquote(italic(.(intToUtf8(x))) ) ) ),
xlab = 'my x label')

y 标签是字符串:

<U+03A8>

r plot expression symbols
1个回答
0
投票

这是一个老问题,并且在 R 基础上的尝试似乎效果不错。根据对 OP 的评论,R 对希腊字母的原生支持似乎在过去 8 年里有所改善!在这里,我使用小写字母(在 x 轴上)和大写字母 Psi(在 y 轴上):

plot(1, 1, type="n", xlim=c(0, 2), ylim=c(0, 2), xlab="", ylab="",
     xaxt='n', yaxt='n') 

mtext(side=2, line=3, expression(italic('\u03A8')), cex=1.5)
mtext(side=1, line=3, expression(italic('\u03C8')), cex=1.5) 

enter image description here

如果需要,可以使用

text()
而不是
mtext()
来旋转 y 轴上的大写 psi:

plot(1, 1, type="n", xlim=c(0, 2), ylim=c(0, 2), xlab="", ylab="", xaxt='n', yaxt='n')  
text(x=-0.1, y=1, labels=expression(italic('\u03A8')), srt=0, adj=c(1,0.5), cex=1.5, xpd=TRUE)
mtext(side=1, line=2, expression(italic('\u03C8')), cex=1.5)

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.