如何在beanplot(violinplot)中获得密度图,使它们彼此一致?

时间:2019-04-17 16:19:15

标签: r boxplot violin-plot

我正在使用beanplot package进行16个beanplot的行。我以一种稍微不寻常的方式使用它,因为每个数据没有2个子组,而是与其他所有组一起在矩阵中查看6个数据组。每个组应该相互比较,因此有16个beanplot。

在绘制AxB,然后是BxC,然后是CxA时,依此类推,我的值保持在相同的通用比例尺上,例如从1-100开始。但是,对于同一组数据,密度图本身会稍有变化。例如,AxB(例如,数据集Upland)将显示数据组A的曲线稍宽于CxA(例如,数据集Lowland)的图形。

如何使密度图保持一致?

我尝试在beanplot包中使用maxwidth,但这不能解决密度图一致的问题。

这是示例代码:

陆地数据:

plotnum year    actual  type
prf024  2012    14.3    THW
prf031  2012    33.2    THW
prf033  2012    24.8    CU
prf036  2012    40.6    THW
prf040  2012    28.1    THW
prf053  2012    11.7    CU
prf054  2012    12.7    CU
prf075  2012    24.6    CU
prf076  2012    25.5    CU
prf083  2012    38.3    CU
prf159  2012    38.7    THW
prf161  2012    27.9    THW
prf176  2012    49.1    THW
prf178  2012    55.5    THW
prf179  2012    34.2    THW
prf188  2012    43.4    THW
prf189  2012    53.7    THW
prf192  2012    68.6    THW
prf205  2012    2.9 THW
prf209  2012    28.8    CU
prf211  2012    14.4    CU
prf219  2012    18.6    THW

低地数据:

plotnum year    actual  type
prf024  2012    14.3    THW
prf031  2012    33.2    THW
prf036  2012    40.6    THW
prf040  2012    28.1    THW
prf052  2012    6   CL
prf069  2012    14  CL
prf092  2012    31  CL
prf159  2012    38.7    THW
prf161  2012    27.9    THW
prf176  2012    49.1    THW
prf178  2012    55.5    THW
prf179  2012    34.2    THW
prf188  2012    43.4    THW
prf189  2012    53.7    THW
prf192  2012    68.6    THW
prf205  2012    2.9 THW
prf206  2012    1.3 CL
prf219  2012    18.6    THW

这是我使用的图形参数(我有更多数据集,因此mfrow为16):

{par(mfrow=c(1,16))
par(mai=c(.6,.10,.6,.10))  
par(omi=c(.05,.05,.05,.05) + 0.5) 
plot(0,ylim=c(-20,100), xlab="", ylab="", type="n", bty="n", yaxt="n", axes=FALSE)
}

beanplot(actual ~ type , data = Upland,
        #main = "               *", 
         side = "both", 
         #xlab="Species Group",
         #ylab=expression("Carbon Stocks (t "~ ha^{-1} ~ ")"),
         col = list("#808080", "grey"),
         overallline="median",
          beanlines="median",
          ylim=c(-40,120),
         xlab= "THW+CU",
         #axes= F,
          #maxwidth=.1,
         what=c(1,1,1,1))
mtext(text="*", side=3, outer=FALSE,  cex=1, las=1, font=4, line=-2, at=1)
mtext(text="l", side=1, outer=FALSE,  cex=1, las=1, font=1, line=2, at=1)

beanplot(actual ~ type , data = Lowland,
        #main = "               *", 
         side = "both", 
         #xlab="Species Group",
         #ylab=expression("Carbon Stocks (t "~ ha^{-1} ~ ")"),
         col = list("#808080", "grey"),
         overallline="median",
          beanlines="median",
          ylim=c(-40,120),
         xlab= "THW+CL",
         axes= F,
         what=c(1,1,1,1))
mtext(text="*", side=3, outer=FALSE,  cex=1, las=1, font=4, line=-2, at=1)
mtext(text="l", side=1, outer=FALSE,  cex=1, las=1, font=1, line=2, at=1)

所以在这里您可以看到第一组左岸的密度图比低地组稍大(但比例尺相同!),各个值用小勾号表示,并对齐在相同的规模。密度图应具有相同的形状和大小。

帮助!

0 个答案:

没有答案