绘制2D箱图

时间:2015-05-06 09:18:40

标签: r ggplot2

我将数据分组,例如,2个参数:

set.seed(1)
dat <- data.frame( xx=sample(10,9),
                   yy=sample(20,9),
                   group=c('A','B', 'C')  )

我可以为每个维度绘制箱线图:

ggplot(dat, aes(x=group, y=yy, fill=group)) + geom_boxplot() 
ggplot(dat, aes(x=group, y=xx, fill=group)) + geom_boxplot() + coord_flip()

现在我想结合这些并绘制反映两个变量数据的箱形图,如下所示:   (此图像是在图形编辑器中手动制作的)

有没有简单的方法来绘制这种箱形图?

1 个答案:

答案 0 :(得分:1)

这不是表达的好方法。这可能非常令人困惑。通常这些数据就像这样表示。

datPlot <- melt(dat)
ggplot(datPlot, aes(x=group, y=value, fill=variable)) + geom_boxplot() 

enter image description here

或者如果两个变量的范围非常不同,您可以尝试分面

ggplot(datPlot, aes(x=group, y=value, fill=group)) + geom_boxplot()
 +facet_wrap(~variable,scale="free_y")

enter image description here

或者

ggplot(dat, aes(x=xx, y=yy, color=group)) + geom_point(size=3) 

enter image description here