没有填充的堆积条形图?
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()
能够获得有关该问题的帮助。代码现已删除。
数据
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()