R语言使用ggridges包将重叠直方图改为堆叠直方图的方法
要实现基于ggridges包的堆叠直方图效果,仅需要在原代码的geom_density_ridges参数中添加position = position_stack()指定堆叠位置即可,你还可以按需调整分箱宽度、纵向间距优化显示效果,完整调整后的代码如下:
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", position = position_stack(), # 新增堆叠参数 alpha = 0.5, binwidth = 0.2) + # 可自定义分箱宽度 scale_y_discrete(expand = c(0, 0.5)) # 调整纵向间距避免图形边缘被截断
运行上述代码即可得到不同物种的直方图在每个参数分组下上下堆叠、无重叠的山脊图效果,和你用facet_wrap实现的堆叠逻辑一致。
内容的提问来源于stack exchange,提问作者Sasha
相关产品推荐
相关产品推荐

