【问题标题】:Remove inner padding in ggplot删除ggplot中的内部填充
【发布时间】:2018-07-14 16:02:55
【问题描述】:

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

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())

谢谢。

【问题讨论】:

  • 我认为标准术语是“margin”而不是“padding”
  • @smci 你是对的。我想我还没有完全忘记几十年前的 Matlab 培训:)

标签: r ggplot2 margin bounding-box


【解决方案1】:

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()))

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

【讨论】:

    猜你喜欢
    • 2020-12-01
    • 2021-05-23
    • 1970-01-01
    • 2014-01-30
    • 2015-03-14
    • 1970-01-01
    • 1970-01-01
    • 2011-04-07
    相关资源
    最近更新 更多