【问题标题】:Stacked histograms with ggridges package in RR中带有ggridges包的堆叠直方图
【发布时间】:2021-08-12 07:57:41
【问题描述】:

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

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)

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

iris %>% 
  pivot_longer(cols = -Species,
               names_to = "Param", 
               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")

【问题讨论】:

    标签: r ggplot2 ggridges


    【解决方案1】:

    如果您将scale = 1 添加到您的geom_density_ridges 调用中,那么这些图将刚好接触(请参阅here)。您还可以使用小于 1 的比例值来增加分离度。

    【讨论】:

    • 这不是我想要的。我需要将实际直方图堆叠在每个图中,如第二个示例所示。改变scale只会改变地块之间的垂直距离,但每个地块保持不变。
    • 抱歉,措辞有点混乱。通常是position = "stack",但我认为这不适用于geom_density_ridges。如果您的问题是美学,我会尝试不同的主题
    猜你喜欢
    • 2021-11-24
    • 2013-01-15
    • 1970-01-01
    • 1970-01-01
    • 2016-04-28
    • 2014-03-12
    • 2020-02-18
    • 1970-01-01
    • 2015-11-28
    相关资源
    最近更新 更多