扩大 ggplot 的边距

Expand margins of ggplot

提问人:Nate 提问时间:2/13/2023 更新时间:2/13/2023 访问量:41

问:

对于这个简单的问题,我深表歉意,但我在调整此图的大小(宽度)以包含所有数据以使其看起来不那么扁平时遇到麻烦。我尝试调整 png() 中的边距和宽度,但似乎没有任何效果。

png("file_name.png",  units = "in", width = 10, height = 5,  res = 300)

ggplot(pred, aes(x = Longitude, y = Latitude)) +
  geom_raster(aes(fill = Fitted)) + 
  facet_wrap(~ CYR) +
  scale_fill_viridis(option = 'plasma',
                     na.value = 'transparent') +
  coord_quickmap() +
  theme(legend.position = 'top')
  # theme(plot.margin=grid::unit(c(0,20,0,20), "mm"))

dev.off()

enter image description here

ggplot2

评论


答:

1赞 jared_mamrot 2/13/2023 #1

出于某种原因需要使用吗?删除它“修复”了绘图尺寸,例如使用 palmerpenguins 数据集coord_quickmap()

library(ggplot2)
library(palmerpenguins)

p1 <- ggplot(penguins, aes(x = sex,
                     y = bill_length_mm,
                     fill = bill_depth_mm)) +
  geom_raster() +
  scale_fill_viridis_c(option = 'plasma',
                       na.value = 'transparent') +
  facet_wrap(~interaction(island, species, year)) +
  theme(legend.position = 'top') +
  coord_quickmap()

p1
#> Warning: Raster pixels are placed at uneven horizontal intervals and will be shifted
#> ℹ Consider using `geom_tile()` instead.
#> Warning: Removed 2 rows containing missing values (`geom_raster()`).

p2 <- ggplot(penguins, aes(x = sex,
                     y = bill_length_mm,
                     fill = bill_depth_mm)) +
  geom_raster() +
  scale_fill_viridis_c(option = 'plasma',
                       na.value = 'transparent') +
  facet_wrap(~interaction(island, species, year)) +
  theme(legend.position = 'top') #+
#  coord_quickmap()

p2
#> Warning: Raster pixels are placed at uneven horizontal intervals and will be shifted
#> ℹ Consider using `geom_tile()` instead.
#> Removed 2 rows containing missing values (`geom_raster()`).

创建于 2023-02-13 使用 reprex v2.0.2

评论

0赞 Nate 2/13/2023
哇,感觉很傻。谢谢!
1赞 jared_mamrot 2/14/2023
非常欢迎你,你的问题没有什么“愚蠢”的 - 当事情“出错”时,ggplot 可能会非常令人沮丧,但当事情“顺利”时,它是非凡的软件。我一直在努力通过观察像 cedricscherer.com/tags/ggplot2 这样的人来改进;如果你有时间,值得看看做事的“正确方法”