Plot SpatialPoints "ylim" 行为难以理解
Plot SpatialPoints "ylim" behaviour incomprehensible
我正在尝试使用包 graphics 中的通用函数绘制 SpatialPoints 对象。绘图的范围应 恰好 最外层数据点的大小。这是一个简单的示例,其中 delta x 与 delta y(最外层值)的比率为 1:
library(sp)
xydata <- as.matrix(cbind(c(1,1,2,2,1.5),c(1,2,2,1,1.5)))
xy_sp = SpatialPoints(xydata)
bbox(xy_sp)
# min and max for x and y coordinates are identical, i.e. apect ratio = 1
png("output.png", width = 500, height = 500, units = "px", type = "cairo" )
par(mar=c(0,0,0,0), xaxs = "i")
plot(xy_sp, xlim = c(1,2), ylim = c(1,2), pch = "X")
# the following lines should NOT be visible
abline(a = 1, b = 0); abline(a = 2, b = 0); abline(v = 1);abline(v = 2)
dev.off()
根据我的理解,上述脚本生成的图应该生成一个图形,其中只有 1 个点可见(坐标 1.5、1.5),但所有 4 个 "ablines" 应该不可见。为什么不是这样?
尝试 yaxs="i"
以及 xaxs
:
par(mar=c(0,0,0,0), xaxs = "i", yaxs="i")
适合我...
我正在尝试使用包 graphics 中的通用函数绘制 SpatialPoints 对象。绘图的范围应 恰好 最外层数据点的大小。这是一个简单的示例,其中 delta x 与 delta y(最外层值)的比率为 1:
library(sp)
xydata <- as.matrix(cbind(c(1,1,2,2,1.5),c(1,2,2,1,1.5)))
xy_sp = SpatialPoints(xydata)
bbox(xy_sp)
# min and max for x and y coordinates are identical, i.e. apect ratio = 1
png("output.png", width = 500, height = 500, units = "px", type = "cairo" )
par(mar=c(0,0,0,0), xaxs = "i")
plot(xy_sp, xlim = c(1,2), ylim = c(1,2), pch = "X")
# the following lines should NOT be visible
abline(a = 1, b = 0); abline(a = 2, b = 0); abline(v = 1);abline(v = 2)
dev.off()
根据我的理解,上述脚本生成的图应该生成一个图形,其中只有 1 个点可见(坐标 1.5、1.5),但所有 4 个 "ablines" 应该不可见。为什么不是这样?
尝试 yaxs="i"
以及 xaxs
:
par(mar=c(0,0,0,0), xaxs = "i", yaxs="i")
适合我...