2015-08-28 4 views
2

Я пытаюсь избавиться от верхнего и нижнего полей участка SpatialPolygons. Я попытался установить поля на c (0,0,0,0), но это только изменяет левое и правое поля.Удалить поля графика PNG

При построении графика в RStudio верхнее и нижнее поля равны 0, а левое и правое - нет.

library(sp) 

coords <- cbind(c(631145, 631757, 631928, 631664, 631579, 631281), 
       c(6967640, 6967566, 6968027, 6967985, 6968141, 6968009)) 
poly <- Polygons(list(Polygon(coords)),"coords") 
poly.sp <- SpatialPolygons(list(poly)) 

par(mar = rep(0, 4), xaxs='i', yaxs='i') 
plot(poly.sp, bg="yellow") 

png('poly.png') 
par(mar = rep(0, 4), xaxs='i', yaxs='i') 
plot(poly.sp, bg="yellow") 
dev.off() 

plot

ответ

2

Я решил проблему путем вычисления соотношения сторон многоугольника, который я пытаюсь построить, а затем задания ширины и высоты участка.

Это может быть не самое элегантное решение, но оно выполняет эту работу.

library(sp) 

coords <- cbind(c(631145, 631757, 631928, 631664, 631579, 631281), 
       c(6967640, 6967566, 6968027, 6967985, 6968141, 6968009)) 
poly <- Polygons(list(Polygon(coords)),"coords") 
poly.sp <- SpatialPolygons(list(poly)) 

width <- [email protected][3] - [email protected][1] 
height <- [email protected][4] - [email protected][2] 
aspect <- height/width 

png('poly.png', width = 10, height = 10*aspect, units = 'in', res = 300) 
par(mar = rep(0, 4), xaxs='i', yaxs='i') 
plot(poly.sp, bg="yellow") 
dev.off() 
+0

Отличная работа вокруг! – Andy

Смежные вопросы