3

请查看以下一年中不同月份的温度直方图。我将温度限制在 50+ 度,以故意迫使一些直方图变,以适应较冷的月份。记下第 1 个月、第 2 个月和第 3 个月,它们太小了,几乎无法在刻面图上显示出来。

library(nycflights13)
library(ggplot2)
library(dplyr)
ggplot(weather %>% filter(temp > 50), aes(temp)) +
  geom_histogram() + 
  facet_wrap(~ as.factor(month))

这个 ggridges 包很棒。它还绘制直方图。默认情况下,它会缩放直方图,以使y 值具有相对相同的高度。如何禁用此功能?我知道我必须以某种方式指定height = ..stat_identity_count..,或者height = ..y..但我已经尝试了所有可以想象的组合并且无法弄清楚。在下面的图中,上面几乎看不到的第 1 个月、第 2 个月和第 3 个月现在已经被缩放成巨大的。我希望 y 轴的高度反映它们各自直方图箱的实际计数。就像原始的 facet wrap 示例一样。

library(ggridges)
ggplot(weather %>% filter(temp > 50), aes(x = temp, y = as.factor(month))) + 
  geom_density_ridges()

而且我确实理解通过..密度..与绝对计数比较直方图通常更容易,但这不是我当前分析所需要的。

4

1 回答 1

3

这可以通过stat_density()使用..count..审美而不是..density..

ggplot(weather %>% filter(temp > 50),
       aes(x = temp, y = as.factor(month),
           group = as.factor(month), height = ..count..)) + 
  geom_density_ridges(stat = "density")

在此处输入图像描述

于 2018-04-24T22:30:27.717 回答