【发布时间】:2014-10-12 23:36:59
【问题描述】:
我在 R 中绘制散点图并想添加箱线图。 x 轴是日期,y 轴是权重。我想随着时间的推移可视化体重,因此每周都应该有一个箱线图。但是,箱线图的宽度太小。这是我目前拥有的:
箱线图是这样绘制的:
data <- read.table("weight2.txt", header=TRUE)
data$datetime <- strptime(paste(data$Date, data$Time), "%d.%m.%Y %H:%M")
data$week <- strftime(data$datetime,format="%W")
data$timestamp <- as.numeric(data$datetime)
plot(data$datetime, data$Weight, xlab="Date",
ylab="Weight", ylim=c(61,68))
library(plyr)
dt <- data.table(data)
aggrWeek <- ddply(dt,~week,summarise,
min=min(Weight),
firstQ=quantile(Weight,0.25),
mean=mean(Weight),
thirdQ=quantile(Weight,0.75),
max=max(Weight),
timestamp=mean(timestamp))
aggrWeek$datetime <- as.POSIXct(aggrWeek$timestamp, origin="1970-01-01")
boxplotData <- t(
data.frame(aggrWeek$min, aggrWeek$firstQ, aggrWeek$mean, aggrWeek$thirdQ, aggrWeek$max))
bxp(list(
stats=data.matrix(boxplotData), n=rep(1,ncol(boxplotData))),
add=TRUE, at=aggrWeek$datetime, show.names=FALSE)
如何使箱线图的宽度变大?
【问题讨论】:
-
使用
width参数到bxp()? -
请提供包含示例数据的reproducible example。我的猜测是
width=和boxwex=正在工作,但如果您的日期值是 POSIXct,那么您将它们设置得太小 -
相应地更新了帖子。