【问题标题】:ggplot split bars by percentageggplot 按百分比拆分条形图
【发布时间】:2020-06-24 22:55:53
【问题描述】:

我有一个tibble...

# A tibble: 9 x 4
  Variable Correlation Type  Percentage
  <fct>          <dbl> <fct>      <dbl>
1 Bar1            0.16 A            0.7
2 Bar1            0.16 B           NA  
3 Bar1            0.16 C            0.3
4 Bar2            0.17 A            0.1
5 Bar2            0.17 B           NA  
6 Bar2            0.17 C            0.9
7 Bar3            0.17 A            0.1
8 Bar3            0.17 B            0.6
9 Bar3            0.17 C            0.3

我想要一个条形图,其中 x 轴为变量,y 轴为相关性。

x 轴(Bar1、Bar2、Bar3)应该只有 3 个条形图,y 轴值为 .16、.17、.17。

我想按类型将 3 个条分成 A、B 和 C 百分比。例如,Bar1 为 70% A 和 30% C。

到目前为止,我有以下...

dat %>% 
  ggplot(., aes(x = Variable, y = Correlation/3, fill = Type)) +
  geom_col(stat = "identity")

但这只是将条平均分为 A、B 和 C。我不知道如何合并百分比。

【问题讨论】:

  • 所以你想要一个高度“相关”的条,它是根据“百分比”填充的,对吧?
  • 是的,高度应分别为 0.16、0.17、0.17。填充应等于 A、B 和 C 的百分比。
  • 然后,我认为,艾伦卡梅隆比我快:D

标签: r ggplot2


【解决方案1】:

您需要堆叠条形添加到相关值,因此您应该绘制相关性乘以百分比(更准确地说是比例 ) 在 y 轴上:

ggplot(df, aes(x = Variable, y = Percentage * Correlation, fill = Type)) + 
  geom_col() + 
  labs(y = "Correlation")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-26
    • 1970-01-01
    • 2019-09-05
    • 1970-01-01
    • 2022-11-15
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多