在刻面堆积条形图中显示总数和一个子类别

时间:2014-11-17 18:23:35

标签: r plot ggplot2

我知道如何显示数据集的子类别的所有方面,但是如何只显示一个方面/子组以及总数? (摘自r-cookbook.com

library(reshape2) # for the tips data
library(ggplot2)
sp <- ggplot(tips, aes(x=total_bill, y=tip/total_bill)) + geom_point(shape=1)
sp + facet_grid(. ~ sex)

返回以下图片:

Two facets

现在我希望左(右)面可以显示整个数据集,另一面将保持不变。

1 个答案:

答案 0 :(得分:3)

你需要这样做:

library(reshape2) # for the tips data
library(ggplot2)
sp <- ggplot(tips, aes(x=total_bill, y=tip/total_bill)) + geom_point(shape=1)
sp + facet_grid(. ~ sex, margins=T) #margins=True will add the total 

注意

使用facet_grid无法仅隔离部分方面以及总数。为此,请检查更新。

<强>更新

为了复制您想要对构面进行的操作,您需要gridExtra库并执行以下操作:

library(reshape2) # for the tips data
library(ggplot2)
library(gridExtra)
sp <- ggplot(tips, aes(x=total_bill, y=tip/total_bill)) + geom_point(shape=1) + ggtitle('All') 
sh <- ggplot(subset(tips,sex=='Male'), aes(x=total_bill, y=tip/total_bill)) + geom_point(shape=1) + ggtitle('Men') +
        theme(axis.title.y=element_blank(), axis.ticks.y=element_blank(), axis.text.y=element_blank())

grid.arrange(sp,sh,nrow=1,ncol=2)

with gridExtra