带有分类X轴的条形图

时间:2013-05-02 10:49:07

标签: r bar-chart plotrix

我正在尝试生成一个带有分类X轴和两个不同y轴的条形图。我正在尝试使用twoord.plot生成条形图,如下所示:

x <- c("A","B","C","D","E")
ry <- c(0.1,0.2,0.3,0.4,0.5)
ly <- c(0.15,0.25,0.35,0.45,0.55)
library(plotrix)
twoord.plot(x,ry,x,ly,
            xlab="xLabel",
            ylab="yLabel",
            rylab="ryLabel",
            main="Main",
            type=c("bar","l"),lcol=rainbow(length(x)),rcol=4)

但是,我收到错误“plot.window(...)中的错误:无效'xlim'值”。

有没有办法将分类/字符变量用作x轴?另外,有没有办法旋转X轴标签,使它们显示在45度?

我已经能够使用以下更改来使用此代码:

xNumeric <- seq(1:length(x))
twoord.plot(xNumeric,ly,xNumeric,ry,
              xlab="xLabel",
              ylab="yLabel",
              rylab="ryLabel",
              main="Main",
              type=c("bar","o"),lcol=rainbow(length(x)),rcol = 4,xticklab = x)

但是,我仍然需要弄清楚如何旋转X轴标签以及添加图例来区分哪个是箱形图,哪个是线图。任何有关这方面的帮助将不胜感激

谢谢。

1 个答案:

答案 0 :(得分:1)

这不是plotrix,而是......

ry <- c(0.1,0.2,0.3,0.4,0.5)
ly <- c(15,35,65,75,80)
x <- 1:5
xlabs <- c("A","B","C","D","E")
barplot(ly, xaxt="n", yaxt="n", xlab="xLabel", ylab="lyLabel", ylim=c(0,100))
axis(2, seq(0,100,by=5), seq(0,100,by=5), las=2) # you can adjust positions of ly labels
par(new=TRUE)
plot(ry~x, xaxt="n", yaxt="n", xlab="", ylab="", ylim=c(0,1))
axis(1, 1:5, xlabs)
axis(4, 1:10/10, 1:10/10, las=2) # you can adjust positions of ry labels
mtext("ryLabel", 4, line=2)

你显然需要编辑一下来获得你似乎想要的颜色等。