##Example data to illustrate problem:
type=c("grp1","grp2","grp1","grp3","grp3","grp3","grp4")
num=c(1,1,2,4,3,5,1)
cols=c(rep("red",5),"green","red")
library(lattice)
bwplot(num~type)
par(new=T)
stripplot(num~type,col=cols)我喜欢框图显示的附加信息,但我需要条形图中的彩色点所传达的信息。显然par(new=T)不起作用,所以我如何将这些点叠加到方框图上?
发布于 2013-10-03 08:18:55
您可以定义如下panel函数:
library(lattice)
bwplot(num~type,panel=function(x,y,...){
panel.bwplot(x,y,...)
panel.stripplot(x,y,col=cols,...)
})

发布于 2014-10-02 19:30:07
农业研究的答案是相当好的,虽然正如我在一条评论中指出的,任何由by图绘制的离群点也将由条纹图绘制,这可能会使人感到困惑。
注意,如果您使用jitter.data=TRUE作为stripplot的选项,这只是一个问题,否则重复的点会直接绘制在另一个上面,而且您永远不会知道它们在那里。如果数据有异常值,并且使用了jitter.data=TRUE,您会看到两倍多的异常值。
以下方法禁止bwplot中的异常值,以避免此问题:
bwstrip <- function(x,y,...){
panel.stripplot(x,y,col=cols,do.out=FALSE,jitter.data=TRUE,...)
panel.bwplot(x,y,...)
}
bwplot(lobe.depths,panel=bwstrip)https://stackoverflow.com/questions/19154084
复制相似问题