我想建立一个图,在整个样本分布的顶部突出显示不同的数据子集。
我使用geom_hex显示整个样本的分布,以显示大部分数据的位置,然后对于一个子集,我在顶部绘制数据点的实际位置。我想使用facet_wrap来为许多子集做这件事。然而,我当前的代码仅为数据的子集(即geom_hex仅显示数据子集的分布,而不是整个样本)。可以这样使用facet_wrap吗?
set.seed(123)
n = 1000
df = data.frame(x = rnorm(n),
y = rnorm(n),
group = sample(letters[1:2], n, replace = TRUE))
ggplot(df, aes(x = x, y = y, col = group)) +
geom_hex() +
geom_point() +
facet_grid(~group)
1条答案
按热度按时间uplii1fm1#
我找到了答案。它使用ggplot调用中的transform函数从分组变量中删除信息。
您需要在该调用中添加一个col美学(即使它没有被使用)。否则它不工作,这似乎有点黑客。所以我欢迎其他答案。