首页 > 解决方案 > 在 ggplot geom_bar 中显示不同的第二个变量

问题描述

我想将第二个变量(图例、输入或输出)的显示与第一个变量(x 轴、原因)不同。所以,我希望它是透明的,而不是用蓝色填充 Out 类别,但带有条纹图案。

此外,在灰色区域中我确实想显示绝对数字,而在现在的蓝色区域中,我想显示百分比。

有谁知道如何分别调整第二个变量级别的图形显示质量?

这是我的数据

library(ggplot2)
library(cowplot)
dataframe <- data.frame(status = c("In", "In", "In", "Out", "Out", "Out"),
                    category = c("Before", "Because of", "After", "Before", "Because of", "After"),
                    number = c(100000, 95000, 80000, 15000, 20000, 30000),
                    perc = c(0.9, 0.83, 0.76, 0.09, 0.16, 0.23))

bar <- ggplot(data = dataframe,
          aes(x = category,
              y = number,
              fill = status))

bar +
  geom_bar(stat = "identity",
       colour = "black",
       width = 1) +
 labs(x = "Reason") +
 labs(y = "Number") +
 labs(fill = "In or out") +
 scale_x_discrete(limits = c("Before", "Because of", "After")) +
 geom_text(aes(label=number), vjust = -2) +
 scale_fill_manual(values = c('light grey', '#0099FF')) +
 background_grid(major = "y", minor = "none") 

标签: rggplot2legendgeom-bar

解决方案


推荐阅读