如何在R中重新排列龙卷风图的条形图?

如何在R中重新排列龙卷风图的条形图?,r,plot,charts,R,Plot,Charts,我正试图绘制一个龙卷风图,用于敏感性分析目的。这就是我目前所拥有的 OP <- par(mar = c(7,7,7,7)) data <- matrix(c(-0.10,0.15,-0.01,0.01,-0.03,0.08,-0.1,0.07), ncol = 4) # Amount of Change in Variables rownames(data) <- c('+25%','-25%') # Names of Variables colnames(data) &

我正试图绘制一个龙卷风图,用于敏感性分析目的。这就是我目前所拥有的

OP <- par(mar = c(7,7,7,7))

data <- matrix(c(-0.10,0.15,-0.01,0.01,-0.03,0.08,-0.1,0.07), ncol = 4)

# Amount of Change in Variables
rownames(data) <- c('+25%','-25%')

# Names of Variables
colnames(data) <- c('Variable 1', 'Variable 2', 'Variable 3','Variable 4')

# For Plotting % on X-Axis
x <- seq(-0.30,0.30, length=13)    

SEQUENTIAL <- RColorBrewer::brewer.pal(4, "YlOrRd")

barplot(data[1,], main="Tornado Graph", horiz = T, las=1, xlim = c(-0.30,0.30), xaxt='n', ylab = '', col=SEQUENTIAL)
barplot(data[2,], horiz = T, las=1, xlim = c(-0.30,0.30), xaxt='n', ylab = '', col=SEQUENTIAL, add = TRUE)

# Add x-axis
axis(1, at=x,  labels=paste0(x * 100," %"), las=TRUE)

par(OP)

OP只需将列按顺序排列即可进行打印。将两条
条形图
语句替换为

ORD = order(data[2,] - data[1,])
barplot(data[1,ORD], main="Tornado Graph", horiz = T, las=1, 
       xlim = c(-0.30,0.30), xaxt='n', ylab = '', col=SEQUENTIAL)
barplot(data[2,ORD], horiz = T, las=1, xlim = c(-0.30,0.30), xaxt='n', 
       ylab = '', col=SEQUENTIAL, add = TRUE)

只需将列按顺序排列即可进行打印。将两条
条形图
语句替换为

ORD = order(data[2,] - data[1,])
barplot(data[1,ORD], main="Tornado Graph", horiz = T, las=1, 
       xlim = c(-0.30,0.30), xaxt='n', ylab = '', col=SEQUENTIAL)
barplot(data[2,ORD], horiz = T, las=1, xlim = c(-0.30,0.30), xaxt='n', 
       ylab = '', col=SEQUENTIAL, add = TRUE)

谢谢这正是我想要的。我离解决方案不远了!谢谢谢谢,这正是我想要的。我离解决方案不远了!谢谢