簡體   English   中英

Barplot:R中y軸上的希臘字母

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM