R 中的绘图不成比例。为什么?
Plot in R out of proportion. Why?
我想在 R 中绘制世界地图,但由于某种原因,图像的顶部和底部有不必要的边距。我将代码减少到最少。
png('mundi.png',1000,500)
par(mar=c(0,0,0,0),bg='green')
plot(NA,xlim=c(-180,180),ylim=c(-90,90),xaxs='i',bty='n',xaxt='n',yaxt='n',asp=1)
par('usr')
rect(-180,-90,180,90,col='white')
dev.off()
生成的图像是
绿色区域是不必要的边距。图像和坐标的尺寸均为 2x1(分别为 1000x500 和 360x180)。 xaxs='i'
应该做出准确的坐标。 asp=1
不需要,也没有任何区别。 par('usr')
回来了
-180.0 180.0 -97.2 97.2
为什么不返回
-180.0 180.0 -90.0 90.0
(应该)应该如此?
实际上,您快到了。要控制绘图的限制 window 到 xlim/ylim 而没有额外的 space R 倾向于添加,您必须指定 x/yaxt = 'i'
选项。您将其设置为 x 轴,而不是 y 轴。
当我为 y 轴设置它时,输出的值符合预期,并且绘图完全是白色的(请原谅我没有贴出它的图像;-))
png('mundi.png', width = 1000, height = 500)
par(mar=c(0,0,0,0), bg='green')
plot(NA, xlim = c(-180,180), ylim = c(-90,90),
xaxs='i', yaxs='i', # set both axes to 'i' option
bty='n',xaxt='n',yaxt='n',asp=1)
par('usr')
# [1] -180 180 -90 90
rect(-180,-90,180,90,col='white')
dev.off()
我想在 R 中绘制世界地图,但由于某种原因,图像的顶部和底部有不必要的边距。我将代码减少到最少。
png('mundi.png',1000,500)
par(mar=c(0,0,0,0),bg='green')
plot(NA,xlim=c(-180,180),ylim=c(-90,90),xaxs='i',bty='n',xaxt='n',yaxt='n',asp=1)
par('usr')
rect(-180,-90,180,90,col='white')
dev.off()
生成的图像是
绿色区域是不必要的边距。图像和坐标的尺寸均为 2x1(分别为 1000x500 和 360x180)。 xaxs='i'
应该做出准确的坐标。 asp=1
不需要,也没有任何区别。 par('usr')
回来了
-180.0 180.0 -97.2 97.2
为什么不返回
-180.0 180.0 -90.0 90.0
(应该)应该如此?
实际上,您快到了。要控制绘图的限制 window 到 xlim/ylim 而没有额外的 space R 倾向于添加,您必须指定 x/yaxt = 'i'
选项。您将其设置为 x 轴,而不是 y 轴。
当我为 y 轴设置它时,输出的值符合预期,并且绘图完全是白色的(请原谅我没有贴出它的图像;-))
png('mundi.png', width = 1000, height = 500)
par(mar=c(0,0,0,0), bg='green')
plot(NA, xlim = c(-180,180), ylim = c(-90,90),
xaxs='i', yaxs='i', # set both axes to 'i' option
bty='n',xaxt='n',yaxt='n',asp=1)
par('usr')
# [1] -180 180 -90 90
rect(-180,-90,180,90,col='white')
dev.off()