在 R/ggplot2 中,当我使用 Expand_limits 时,它似乎无法工作

and*_*ang 1 r ggplot2

在ggplot2中,我想让bar_plot与x轴对齐(删除附图所示的空白区域)。使用时expand_limits(y=0),似乎无法工作。有人可以帮忙吗?谢谢!

library(tidyverse)
library(RColorBrewer)
data <- data.frame(category=c("a","b","c","d"),value=4:1)
data %>% ggplot(aes(category,value,fill=category))+
  geom_bar(stat='identity')+scale_fill_brewer(palette='Greens',direction=-1)+
  expand_limits(y=0)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

r2e*_*ans 5

使用expansion

ggplot(data.frame(category=c("a","b","c","d"),value=4:1),  
       aes(category, value, fill = category)) +
  geom_bar(stat='identity') +
  scale_y_continuous(expand = expansion(mult = c(0, 0.05)))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

对于mult = c(0, 0.05),这意味着底部不扩展 ( 0) 并且顶部扩展 5%(看起来与默认值差不多)。如果您设置 length-1 arg mult=0,则两者将设置为相同(此处不展开)。您也可以使用add=(相同的方法)带或不带mult=.