使条形图条从最大值延伸到平均值而不是从0到平均值

时间:2017-06-22 18:35:31

标签: r ggplot2 bar-chart tidyverse

在我的条形图中,我颠倒了y轴,使得较低的值位于顶部,但我希望条形图从x轴向上延伸。

有没有办法改变条形延伸的方向?

library(tidyverse)

mtcars %>% 
  group_by(cyl) %>% 
  summarise(mean_mpg = mean(mpg)) %>% 
  ggplot(aes(x = as.factor(cyl), y = mean_mpg)) + 
  geom_col() + 
  scale_y_reverse() +
  coord_cartesian(ylim = c(0, 35))

上面的代码创建条形图,条形图从图的顶部延伸,这是我不想要的。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

您可以尝试:

# some data
set.seed(123)
d <- cbind.data.frame(a=1:5, b=sample(1:5, replace = T))
d
  a b
1 1 5
2 2 3
3 3 4
4 4 3
5 5 1
# the plot
d %>% 
  mutate(b2=5-b) %>% 
  ggplot(aes(a,b2)) + 
  geom_bar(stat = "identity") +
  ylim(0,5)+
  scale_y_continuous(breaks = 0:5, labels = as.character(5:0))

enter image description here