不幸的是,vioplot 的某些参数不接受向量。这是一种解决方法。vioplot()
此解决方法的有用功能是at
和wex
参数以及add=T
. 基本上,使用按您想要的方式塑造它们的参数分别绘制每把小提琴。您可能需要调整缩放样本大小的方式以用于wex
.
n<-c(100,1000)
size<-scale(sqrt(n),center=F)
x1<-rnorm(n[1])
x2<-rnorm(n[2])
#initialize an empty plot
plot(0:3,rep(0,4),type='l',xlim=c(0,3),ylim=c(-4,4),ylab="",xlab="",xaxt="n",lty=3)
# fill in the violins at specific x locations using the `wex` parameter for size
vioplot(x1,at=1,wex=size[1],add=T,col="darkgray")
vioplot(x2,at=2,wex=size[2],add=T,col="darkgray")
axis(1,at=1:2,labels=c("Mon","Tues"))