Полигоны красиво обрезают ggplot2 / ggmap при разных уровнях масштабирования
Я играю с набором пространственных данных (в основном полигоны над областью города), и я хотел бы создать разные виды, основанные на разных уровнях масштабирования. Все хорошо, когда у меня есть граничная рамка графика больше, чем область, которая содержит многоугольники. Но при увеличении некоторые полигоны получают детали, находящиеся за пределами граничного блока, и вывод для этих полигонов проблематичен: точки многоугольника за пределами граничного блока не отображаются, в результате чего многоугольники не обрезаются в пределах граничного блока ( как и следовало ожидать) а точнее не рассматриваются. полигоны являются неполными, и полигон соединяет только точки, остающиеся на графике (нормальное поведение, но нежелательное).
хороший пример, который стоит всего обсудить, вот пример проблемы:
#initialisation
library(ggmap)
require(MASS)
data(zips)
# overview
ggmap(get_map(maptype = "satellite", zoom = 8), extent = "device") +
geom_polygon(aes(x = lon, y = lat, group = plotOrder),
data = zips, colour = NA, fill = "red", alpha = .5) +
geom_path(aes(x = lon, y = lat, group = plotOrder),
data = zips, colour = "white", alpha = .7, size = .4)
# problematic view
x11()
ggmap(get_map(maptype = "satellite", zoom = 12), extent = "device") +
geom_polygon(aes(x = lon, y = lat, group = plotOrder),
data = zips, colour = NA, fill = "red", alpha = .5) +
geom_path(aes(x = lon, y = lat, group = plotOrder),
data = zips, colour = "white", alpha = .7, size = .4)
знаете ли вы о хорошей технике для правильной обрезки полигонов на границах границ графика? Спасибо за вашу помощь
паскаль