2015-11-04 230 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