2017-06-22 56 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