[英]Barplot: Greek letters on y axis in R
這是關於條形圖的另一個問題的后續問題: 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))
但沒有成功。 現在有人的伎倆?
注意。 我已經看到了這個問題: 在軸標題中添加希臘字符但它側重於標簽,而不是y軸“值”。 此外,我嘗試過在列名中放置希臘字母但沒有成功。
你只需要在axis
傳遞lab
作為expression
s的向量。
axis(2, at=c(1:4), lab = c(expression(xi),
expression(rho), expression(alpha), expression(bar(V))), las=T)
然后,您可以根據需要使用軸的設置。
如果將參數names.arg
提供給names.arg
,則無需調用axis
來標記barplot
:
barplot(data[1,], horiz = T, las=1, xlim = c(-0.04,0.04), xaxt='n', ylab='',
beside=T, col=c('springgreen'),
names.arg=c(expression(xi),expression(rho), expression(alpha), expression(bar(V))))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.