2017-06-22 59 views
1

在我的条形图中,我已经颠倒了y轴,以便较低的值位于顶部,但是我希望条形图可以向上延伸从x轴。使条形图条从最大值延伸到平均值而不是从0到平均值

有没有办法改变酒吧的延伸方向?

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

你能澄清你想要的结果是什么呢?例如,你是否希望6缸的柱从底部的26.6延伸到6.9,从而在6.9和0之间留有空隙?我的第一印象是,它从数量上讲没有任何意义。 – bdemarest

+0

所以你想要在y轴上的数字是颠倒的,但不是酒吧? –

+0

我希望酒吧从x轴的35度延伸到26.7度,19.7度和15.1度。我只是用mtcars作为代表。在真实的情况下,我显示人们对某个节目的评分更有意义,其中1是最好的,5是最差的。 – Joe

回答

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