【发布时间】:2016-09-01 10:41:53
【问题描述】:
这是我关于条形图的另一个问题的后续问题: Tornado plot in R
我意识到关于在 y 轴上获取希腊字母的问题需要作为一个自己的问题提出。
问题是: 我有以下条形图,需要将 y 轴更改为相应的希腊字母(以及带有条形的 V)。
我使用以下代码:
# Tornado plot
data <- matrix(c(-0.02,0.02,-0.01,0.01,-0.03,0.02,-0.01,0.04), ncol = 4)
rownames(data) <- c('+10%','-10%')
colnames(data) <- c('V_bar', 'alpha', 'rho','xi')
x <- seq(-0.04,0.04, length=10)
barplot(data[1,], horiz = T, las=1, xlim = c(-0.04,0.04), xaxt='n', ylab='',
beside=T, col=c('springgreen'))
barplot(data[2,], horiz = T, las=1, xlim = c(-0.04,0.04), xaxt='n',
yaxt='n', #To prevent double printing of y-labels.
beside=T, col=c('indianred2'), add = TRUE)
axis(1, at=pretty(x), lab=paste0(pretty(x) * 100," %"), las=TRUE)
为了获得希腊字母,我尝试了以下方法:
barplot(data[2,], horiz = T, las=1, xlim = c(-0.04,0.04), xaxt='n',
yaxt= c(expression(bar(V)), expression(alpha),expression(rho), expression(xi)),
beside=T, col=c('indianred2'), add = TRUE))
和
axis(2, at=c(1:4), lab = expression(xi ~ rho ~ alpha ~ bar(V)), las=T)
或
axis(2, at=pretty(x), lab = paste0(expression(xi ~ rho ~ alpha ~ bar(V)), las=T))
但没有成功。现在有人知道了吗?
注意。我看过这个问题:Adding greek character to axis title 但它侧重于标签,而不是 y 轴“值”。 另外,我尝试过类似Putting greek letters in column names 没有成功。
【问题讨论】: