我需要将SpatialLines对象旋转90度和180度,然后用旋转的SpatialLines对象来绘制原始的SpatialLines对象。
但是,绘图函数提供了此错误:
plot.new()中的错误:图形边距太大
我正在使用RStudio。我试着重新启动R会话,重新启动RStudio,并手动放大一个图->缩放图.但它无助于解决这个问题。
library(sp)
library(maptools)
x <- c(1,5,4,8)
y <- c(1,3,4,5)
xy <- cbind(x,y)
xy.sp = sp::SpatialPoints(xy)
spl <- sp::SpatialLines(list(Lines(Line(xy.sp), ID=i)))
# Rotation of a SpatialLines object
spl90 <- maptools::elide(spl, rotate=90, center=apply(bbox(spl), 1, mean))
spl180 <- maptools::elide(spl, rotate=180, center=apply(bbox(spl), 1, mean))
plot(spl)
plot(spl90)
plot(spl180)发布于 2015-01-19 14:52:34
有时,我也会遇到这个错误,我会最大化我的X11绘图窗口,然后它就消失了(不过,我并不经常使用RStudio )。即使在默认大小查看器中,您提供的代码对我也很好。但是,这段代码生成了3幅图。您可以使用参数new在par中在相同的图上创建它们。
plot(spl)
par(new=TRUE)
plot(spl90)
par(new=TRUE)
plot(spl180)
par(new=FALSE)我会尝试写到一个文件,看看这是否有效。
https://stackoverflow.com/questions/28026946
复制相似问题