没有填充的堆积条形图?

Stacked Bar Chart With No Fill?

能够获得有关该问题的帮助。代码现已删除。

数据

test <- data.frame(pass_location=c('middle','left','right'), Air_Epa_Play=c(0.263,0.086,0.082), YAC_Epa_Play=c(0.434,0.439,0.442), Total_Completed=c(0.697,0.525,0.524))

  pass_location Air_Epa_Play YAC_Epa_Play Total_Completed
1        middle        0.263        0.434           0.697
2          left        0.086        0.439           0.525
3         right        0.082        0.442           0.524

您可以忽略 Total_Completed 列 - select(-Total_Completed)ggplot 为您计算 stacking/summation,因此您不必自己计算总数。但是,ggplot 也喜欢长格式(而不是宽格式)的数据,因此您需要 gather() 将相关值(在 y-axis 上)放入单个列中。请注意,我使用 gather(..., -pass_location) 来忽略分组列。在有和没有 fill=var 的情况下尝试以下操作。一旦你看到 ggplot 喜欢长格式数据,使用它就会变得更加直观 - 至少对我来说是这样。

library(tidyverse)
test %>% 
  select(-Total_Completed) %>% 
  gather(var, value, -pass_location) %>% 
  ggplot(., aes(x=pass_location, y=value, fill=var)) + 
  geom_col()