1

用户

感谢@McQueenDon 在 r-nabble 上的回复
http://r.789695.n4.nabble.com/boxplot-with-x-axis-time-td4686787.html#a4687746

我设法生成了一个单一变量的 boxplot::base,其中 x 轴的格式正确并在采集日期间隔开。

如果我想用 bwplot::lattice 生成它怎么办?我需要这个,因为我还想使用条件因子。

这是一个可重复的示例(再次感谢@McQueenDon)

data(iris) 
pippo= stack(iris[,-5]) 
pippo$date= rep(c("2013/01/29", "2013/03/01", "2013/11/01", 
              "2013/12/01", "2014/02/01", "2014/07/02"), 100) 
pippo$date= as.Date(pippo$date) 
boxplot(pippo$values ~ pippo$date) ## NOT exactly what I want 

bx<- boxplot(pippo$values ~ pippo$date, plot= F) 
bxp(bx, at=sort(unique(pippo$date))) # this is what I was looking for ! 

require(lattice) 
bwplot(values~date, pippo, horizontal=F) #dates looks not correctly spaced even though they are correctly ordered and formatted 
# finally I would like to condition to the 'ind' variable 
bwplot(values~date| ind, pippo, horizontal=F, layout= c(2,2)) 

谢谢

朱塞佩

4

1 回答 1

2

怎么样

xyplot(values~date| ind, pippo, horizontal=F, layout= c(2,2), 
    panel=panel.bwplot, box.width=20) 

在此处输入图像描述

在这里,我们使用xyplot自定义panel=参数而不是bwplot因为首先bwplot将 转换x为一个因子,该因子使用连续整数重新编号所有级别;xyplot不这样做。

如果您想标记确切的日期,您可以尝试

dts<-unique(pippo$date)
xyplot(values~date| ind, pippo, horizontal=F, layout= c(2,2), 
    panel=panel.bwplot, box.width=20,
    scales=list(x=list(at=dts)))

但在这个特定的例子中,这看起来很拥挤。

于 2014-07-13T19:59:01.243 回答