在R中的组合条形图中放置次要y轴

时间:2018-09-26 16:15:14

标签: r bar-chart

我正在使用R组合两个Y轴相同的条形图,因此我想像B一样删除第二个条形图:

enter image description here

我找到了一种使用ggplot2的方法,但是只是想知道它是否可以在barplot功能中使用。

提前谢谢!

2 个答案:

答案 0 :(得分:2)

barplot开箱即用。为了说明,让我们创建由两个图表示的数据:

a <- c(2,4,6,8,9)
b <- c(5.5,6.5,7.5,8.5,9)

这是平行于c(a,b)的颜色向量:

col <- unlist(mapply(rep, c("#fb0019", "#8767fc"), c(2,3, 1,4)))

在这种环境下,只需一个函数调用即可完成所有操作:

barplot(cbind(a, b), beside=TRUE, space=c(0.2, 1.2), names.arg=c("", ""), col=col)

Figure

此方法将两个数据向量作为矩阵的(通过通过 cbind(a, b))传递,从而产生两组条形。 space的值分别给出组内条之间和组之间的相对间距。最后,names.arg取消将要张贴的自动组标签,而col=col从左到右确定条形的颜色。

答案 1 :(得分:0)

要使两个图彼此靠近,就像在您的示例中一样,您需要稍微插入par(),但我不确定您需要弄乱哪些参数。

如果只需要移开轴,可以在barplot函数中使用axes=F。只需确保指定y轴范围,就可以知道两个图形都使用相同的比例尺。

a=c(1,2,3)
b=c(2,3,4)

par(mfrow=c(1,2))

barplot(a,ylim=c(0,5))
barplot(b,ylim=c(0,5),,axes=F)

enter image description here