我正在使用R绘制框百分比图,使用Hmisc(panel.bpplot)中的box-percentile面板函数和bwplot中的lattice

我有一个数值向量(Length),并希望显示其在因子变量(Month)各个级别上的分布。

这是伪造数据的示例:

例如,

set.seed(13)
Length<-sample(1:10, 1000, replace=TRUE)
Month<-sample(c("Apr","May","Jul","Aug","Sep","Nov"), 1000, replace=TRUE)

df<-cbind(Month, Length)
df<-as.data.frame(df)
df$Month<-factor(df$Month, levels=c("Apr","May","Jul","Aug","Sep","Nov"))
df$Length<-as.numeric(df$Length)

#plot horizontal box-percentile plot;
bwplot(Month~Length, data=df, panel=panel.bpplot)

这很好。但是我希望这些图是垂直的,在x轴上带有Month,在y轴上带有Lengthpanel.bpplot的文档说,水平图使类别级别更清晰可见,但就我的目的而言,我特别需要垂直图。有没有办法修改panel.bpplot来做到这一点?

最佳答案

我从previous question中获取了一些技巧,然后将其与您的代码合并。似乎“技巧”正在设置旋转的网格:

require(grid)
grid.newpage()
pushViewport(viewport(angle = 90, name = "VP"))
print(
    bwplot(Month~Length, data=df, panel=panel.bpplot, draw.in = "VP"
    ),
    newpage=FALSE
)

结果是:

09-06 20:20