删除ggplot中的内部填充

时间:2018-02-04 18:41:34

标签: r ggplot2 margin bounding-box

在下面的代码中,如何最小化/删除内部填充以使绿色多边形跨越整个灰色边界框?

suppressMessages(library(GISTools))
suppressMessages(library(ggplot2))
data(newhaven)

blocks_df <- fortify(blocks)
ggplot(data = blocks_df) +
  geom_polygon(aes(x=long, y=lat, group = group), fill = "darkolivegreen4") +
  coord_equal() +
  theme(axis.title = element_blank(),
        axis.text = element_blank(),
        axis.ticks = element_blank())

enter image description here 感谢。

1 个答案:

答案 0 :(得分:3)

coord_equal()图层可以采用expand参数 - 将其设置为FALSE,并且绘图窗口将适合绘制数据的大小:

... 
ggplot(data = blocks_df) +
  geom_polygon(aes(x=long, y=lat, group = group), fill = "darkolivegreen4") +
  # set `expand=FALSE` 
  coord_equal(expand=FALSE) +
  theme(axis.title = element_blank(),
        axis.text = element_blank(),
        axis.ticks = element_blank()))

快速跟进:请注意,大多数其他坐标图层上的expand参数(例如scale_x_continuous())需要是长度为2的向量(对于&#34;乘法和加法扩展)常量&#34)。所以你要说,例如在这种情况下scale_x_continuous(expand=c(0,0))。 :p