【发布时间】:2011-12-24 14:22:24
【问题描述】:
我正在使用来自Hmisc (panel.bpplot) 和来自lattice 的bwplot 的box-percentile 面板函数在R 中绘制box-percentile 图。
我有一个数值向量 (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)
这很好用。但我希望图是垂直,Month 在 x 轴上,Length 在 y 轴上。 panel.bpplot 的文档说水平图使类别级别更加明显,但是,出于我的目的,我特别需要垂直图。有没有办法修改panel.bpplot 来做到这一点?
【问题讨论】:
-
你试过
horizontal这个说法吗?请参阅bwplot文档。值可以是NULL、TRUE或FALSE。 -
我确实尝试过摆弄水平参数。将其设置为 FALSE 会导致 bwplot 将我的数字变量视为一个因子,并将我的因子变量视为数字,这不是预期的效果(尽管它确实会创建垂直框)。此外,只有在 bwplot 中调用常规面板函数时才会出现这种情况。当 panel=panel.bpplot 时,设置 Horizontal=FALSE 似乎对绘图没有影响。