R中带有ggridges包的堆叠直方图

问题描述

以下代码生成重叠的直方图。如何修改代码以使直方图堆叠在一起?

library(tidyverse)
library(ggridges)

iris %>% 
      pivot_longer(cols = -Species,names_to = "Param",values_to = "Value") %>% 
      ggplot(aes(x = Value,y = Param))+
      geom_density_ridges(aes(fill = Species),stat = "binline",alpha = 0.5)

enter image description here

我可以使用 geom_histogramfacet_wrap 达到预期效果,如下所示,但从美学角度来看,我更喜欢使用 ggridges解决方案。

iris %>% 
  pivot_longer(cols = -Species,values_to = "Value") %>% 
  ggplot(aes(x = Value))+
  geom_histogram(aes(fill = Species),position = position_stack(),alpha = 0.5) +
  facet_wrap(~Param,ncol = 1,scales = "free_y")

enter image description here

解决方法

如果您将 scale = 1 添加到 geom_density_ridges 调用中,那么这些情节将只是接触(请参阅 here)。您还可以将比例值设置为小于 1 以增加分离度。