如何设置 ggplot2 填充颜色以聚合统计信息?

Posted

技术标签:

【中文标题】如何设置 ggplot2 填充颜色以聚合统计信息?【英文标题】:How to set ggplot2 fill color to aggregate statistic? 【发布时间】:2021-08-28 21:43:03 【问题描述】:

我想根据另一个变量的聚合统计数据在一个变量的 ggplot2 条形图中设置条形的填充颜色。

例如,使用来自here 的房价回归数据,我可能想使用颜色在条形图中可视化每个类别中房屋的平均销售价格。

ggplot(
  data = df,
  mapping = aes(x = OverallCond, fill = mean(SalePrice))
) +
  geom_bar()

这不是我要找的图表。每个条形应该是一种颜色,代表该类别中的平均销售价格。

【问题讨论】:

【参考方案1】:

您可以先按类别计算平均值,然后使用geom_col() 绘制它们。这是使用mtcars 数据集的示例。

library(tidyverse)

d <- mtcars %>% 
  group_by(carb = factor(carb)) %>% 
  summarise(m = mean(disp)) %>% 
  ungroup()

ggplot(
  data = d,
  mapping = aes(x = carb, y = m, fill = carb)
) +
  geom_col()

【讨论】:

看起来您将聚合放在 y 轴上,而不是用颜色对其进行编码。绘图中的颜色是对 carb 的编码,对于 x 轴是多余的。我想保持 y 轴(在我的示例中作为计数),并以颜色对聚合(在我的示例中为 mean(SalePrice))进行编码。我想你可以创建一个代表碳水化合物组平均值的新因子。

以上是关于如何设置 ggplot2 填充颜色以聚合统计信息?的主要内容,如果未能解决你的问题,请参考以下文章

如何在使用 ggplot2 制作的单个图中组合填充(列)和颜色(点和线)图例?

ggplot2之颜色设置

ggplot2 改变 geom_col 的填充颜色(非常非常初学者)

ggplot2:geom_ribbon 的填充颜色行为

R语言使用ggplot2包使用geom_dotplot函数绘制分组点图(单色填充分组颜色填充)实战(dot plot)

ggplot2:使用填充geom_bar指定颜色时缺少图例