如何在 ggplot2 中使用 geom_boxplot 创建多个箱线图同时使它们成比例?

How do I create multiple boxplots whilst also making them proportional using geom_boxplot within ggplot2?

我知道 ggplot2 的 geom_boxplot 中的 varwidth = TRUE 可用于创建比例箱线图,以便每个箱线图还总结了图中的点数。但是,我很难在生成多个图的同时保持成比例的箱线图大小?

我正在尝试使用 ggplot2 中的菱形 df 重现下图。

我试过的是这样的:

ggplot(data = diamonds, mapping = aes(x = carat, y = price)) + geom_boxplot(mapping = aes(group = cut_number(carat, 20), varwidth = TRUE))

我尝试使用cut_number来实现倍数,并使用var-width来实现比例。我还想让箱线图垂直显示。几个小时以来,我一直为此感到困惑,并在网上查看但无济于事。有什么建议吗?

从 ggplot2 v3.3.0 开始,图层的方向是自动检测的。在某些情况下,此检测可能不正确。您可以通过将方向作为参数添加到图层来强制方向:

library(ggplot2)

ggplot(data = diamonds, mapping = aes(x = carat, y = price)) + 
  geom_boxplot(mapping = aes(group = cut_number(carat, 20)),
               orientation = "x")

reprex package (v0.3.0)

于 2020-05-01 创建