我有以下boxplot:
df1 <- data.frame(f = c("a","b","c","c","c"), x=c(1,1,1,5,9))
qplot(factor(f),as.numeric(x),data=df1) + geom_boxplot()
对于箱形图的两个因素,“框”只是一条线。是否可以增加这两个因素的盒子大小,以便显示一个微观的白盒子?或者我可以手动提供默认的最小宽度?
答案 0 :(得分:1)
你可能不应该这样做,因为它至少有点不诚实。但是,如果你真的对它有所了解,那么这里可能会有一些黑客攻击:
ggplot(df1, aes(x = factor(f), y = as.numeric(x))) +
geom_boxplot(size = 2) +
geom_boxplot(size = 1, color = "white")
如果你想保留诚实的箱形图的外观,你可以做类似
的事情library('plyr')
flat <- subset(ddply(df1, .(f), summarise, flat = length(unique(x))), flat == 1)$f
flat <- df1[df1$f %in% flat,]
ggplot(df1, aes(x = factor(f), y = as.numeric(x))) +
geom_boxplot()
geom_boxplot(data = flat, size = 2) +
geom_boxplot(data = flat, size = 1, color = "white")