R ggplot:删除绘图周围的所有空间

rmf*_*rmf 3 r ggplot2

如何删除绘图区域周围的所有空间?

样本数据

dfr <- data.frame(x=factor(1:5),y=c(3,5,4,2,4))

ggplot(dfr,aes(x,y))+
  geom_bar(stat="identity")
Run Code Online (Sandbox Code Playgroud)

我尝试如下,但左侧和底部仍然有空间。添加了Bg边框颜色以可视化边缘。

ggplot(dfr,aes(x,y))+
  geom_bar(stat="identity")+
  labs(x="",y="")+
  theme(axis.ticks=element_blank(),
        axis.text=element_blank(),
        plot.background=element_rect(colour="steelblue"),
        plot.margin=grid::unit(c(0,0,0,0),"cm"))
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

And*_*tar 5

您需要添加axis.title=element_blank()theme语句中。

在此处输入图片说明

  • 剩下的空间很小。刻度线已设置为`element_blank()`,但刻度线的空间仍然保留。将`axis.ticks.length = unit(0,“ pt”)`添加到`theme`中。要检查:`g = ggplotGrob(p); g $ widths; g $ heights` (3认同)
  • 我最近学到的另一个技巧是使用 `+ labs(x = NULL, y = NULL)` 而不是 `x="",y=""`。 (2认同)