如何在R中创建两个高度不相等(最大值不同)但在Y轴上具有相同单位的条形图?

时间:2018-07-03 10:55:48

标签: r layout graph bar-chart

是否可以制作尺寸不相等(Y轴上的最大值不同)但单位相等(计数数据)的条形图(两个)?

数据是每个季节筑巢次数的计数数据。每个物种都有7个季节的数据。我的目标是为读者提供尽可能清晰的数据,以显示这两个物种筑巢季节的数量逐季增加。尽管两个物种的初始增加模式相似,但物种1筑巢的数量增加得更快。在同一条小图中绘制两组数据不是一个好选择,因为这两个物种的7个季节的数据不是同时存在的-而是每个物种定居的前7年(例如,x轴上的标签不同)两种)

我已经尝试了par(fig)和layout,但是还没有实现我所需要的,而且我不确定哪个函数更适合我的需要。欢迎任何建议

两个条形图,一个在另一个上,每个占据一半的窗口。两张图的Y单位都相同,但是其中一张的最大值为300,而另一张的最大值为900。绘制它们时,两张图的计数为100看起来非常不同

SPECIES1 <- c(2,12,44,153,451,857)
SPECIES2 <- c(4,15,35,54,63,243)

windows(11,12)
par(oma=c(3,0.1,1,0.1),mfrow=c(2,1),mar=c(2,6,2,2.1))

barplot(SPECIES2,space=c(0.1,0),ylim=c(0,300),col="black",axes=FALSE)
axis(2,at=seq(0,300,100),las=2, cex.axis=0.9)

barplot(SPECIES1,space=c(0.1,0),ylim=c(0,900), col="black",border=NA,axes=FALSE )axis(2,at=seq(0,900,100),las=2,cex.axis=0.9)

S

1 个答案:

答案 0 :(得分:0)

这里是使用ggplot包的方式

##   supp dose  len
## 1   VC D0.5  6.8
## 2   VC   D1 15.0
## 3   VC   D2 33.0
## 4   OJ D0.5  4.2
## 5   OJ   D1 10.0
## 6   OJ   D2 29.5

ggplot(data=df2, aes(x=dose, y=len, fill=supp)) +
geom_bar(stat="identity", position=position_dodge())

但是您需要第三个变量(在上述情况下为supp)。请提供您想要绘制的示例数据以获得清晰答案。