gpt4 book ai didi

删除 PNG 图边距

转载 作者:行者123 更新时间:2023-12-04 14:31:41 24 4
gpt4 key购买 nike

我正在尝试去除 SpatialPolygons 图的顶部和底部边距。我尝试将边距设置为 c(0,0,0,0) 但这只会改变左右边距。

在 RStudio 中绘图时,顶部和底部边距为 0,但左侧和右侧不是。

library(sp)

coords <- cbind(c(631145, 631757, 631928, 631664, 631579, 631281),
c(6967640, 6967566, 6968027, 6967985, 6968141, 6968009))
poly <- Polygons(list(Polygon(coords)),"coords")
poly.sp <- SpatialPolygons(list(poly))

par(mar = rep(0, 4), xaxs='i', yaxs='i')
plot(poly.sp, bg="yellow")

png('poly.png')
par(mar = rep(0, 4), xaxs='i', yaxs='i')
plot(poly.sp, bg="yellow")
dev.off()

plot

最佳答案

我通过计算要绘制的多边形的纵横比然后设置绘图宽度和高度来解决问题。

这可能不是最优雅的解决方案,但它可以完成工作。

library(sp)

coords <- cbind(c(631145, 631757, 631928, 631664, 631579, 631281),
c(6967640, 6967566, 6968027, 6967985, 6968141, 6968009))
poly <- Polygons(list(Polygon(coords)),"coords")
poly.sp <- SpatialPolygons(list(poly))

width <- poly.sp@bbox[3] - poly.sp@bbox[1]
height <- poly.sp@bbox[4] - poly.sp@bbox[2]
aspect <- height / width

png('poly.png', width = 10, height = 10*aspect, units = 'in', res = 300)
par(mar = rep(0, 4), xaxs='i', yaxs='i')
plot(poly.sp, bg="yellow")
dev.off()

关于删除 PNG 图边距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32268654/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com