2015-11-04 668 views
-1

我,使用R如何在R中绘制多个多边形图?

yy<-c(1217,2343,3255,2129) 
xx<-c(61587690.5,61588253.5,61587797.5,61587234.5) 
polygon(xx, yy, col="gray", border = "red") 

绘制多边形但我想100000个多边形绘图添加到同一个图表。我如何将所有内容添加到一个图表中。



+0

你再打电话多边形。你的数据结构如何? – Heroka

回答

3

这是一个使用坐标表的列表的例子。它绘制在同积所有多边形(我离开的他们是如何辨别的问题...)

#generate some data 
set.seed(123) 
n=10 
#each 'polygon' is inside a list with xx and yy coordinates 
dat <- lapply(1:n,function(x){ 
    res <- list(xx=c(1,2,3,2)+rnorm(4), 
       yy=c(1,2,3,2)+rnorm(4)) 
    return(res) 
}) 

#create empty plot 
plot(0:5,0:5,type='n') 
#add polygons 
lapply(dat,function(x){polygon(x$xx,x$yy,col="gray",border="red")}) 

enter image description here

+0

肯定的,那么您使用'lapply()'用于环路隐藏。 – jogo

+0

但上面的图不完全打印。我是否需要设置x和y轴限制? – logicstar

+0

是的。这是一个基于模拟数据的例子。 @logicstar – Heroka

2

2多边形:

yy<-c(1217,2343,3255,2129) 
xx<-c(61587690.5,61588253.5,61587797.5,61587234.5) 
plot(xx,yy, type='n') 
# plot(0,0, type='n', xlim=c(-5, 5), ylim=c(-200, 100)) # an other plot region 
polygon(xx, yy, col="gray", border = "red") 
xx <- xx+500 
yy <- yy+500 
polygon(xx, yy, col="gray", border = "red") 
+0

这不适用于100000个多边形。 – Heroka

+0

理论上可以在一个for循环做。但我不知道这是否是预期的结果。 – jogo

+0

@jogo它是确定了我,但我发现的Iind多边形是不可见的完全。我是否需要设置任何x限制或/和y限制。 – logicstar