首页 > 解决方案 > 为什么来自`ggplot()`的直方图与仅用于`aes``fill`的一个变量相同?

问题描述

问题是关于与以下 3 个数字相关的两个观察结果:

(1)如果箱数相同,为什么(a)和(b)中的直方图不同?
(2) (b) 中的直方图与填充的直方图完全相同nonsmo。如果是这种情况,那么如何使用 ggplot() 制作完整数据的直方图?

(a) 使用 绘图hist(chol$AGE,30)

使用 hist() 的直方图

ggplot(data=chol, aes(chol$AGE)) + geom_histogram()(b) 使用默认值(即 30 个 bin )绘制的直方图。

带有 ggplot() 的直方图

(c) 现在为变量添加填充SMOKE

ggplot(data=chol, aes(chol$AGE)) + 
  geom_histogram(aes(fill = chol$SMOKE))

使用 ggplot() 填充的直方图。

标签: rggplot2colorshistogramfill

解决方案


这是我在@Dave2e 发表评论后所做的

ggplot(data=chol, aes(AGE, fill = SMOKE)) + 
  geom_histogram(aes(y = ..count..), binwidth = 1, position = "stack")

hist(chol$AGE, breaks = 30, right = FALSE)

在此处输入图像描述

在此处输入图像描述

添加正确的值binwidth,默认实现positionstack和使用rightasfalse得到完全相同的直方图。


推荐阅读