-1

能够就问题获得帮助。代码现已删除。

4

1 回答 1

1

数据

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为您进行叠加/求和,因此您不必自己计算总数。但是,ggplot也喜欢长格式(而不是宽格式)的数据,因此您需要gather()将相关值(在 y 轴上)放入单个列中。注意我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()
于 2019-06-01T23:03:53.100 回答