Я планирую карту Норвегии с интересной областью, выделенной красным прямоугольником, с использованием ggplot2
. Если я опускаю geom_rect
или coord_map
, карта отображает очень быстро (< 1 секунда). Если я использую оба - что мне нужно - очень медленно печатать и делать (около пяти минут).geom_rect + coord_map = очень медленно
Я предполагаю, что это как-то связано с жеванием - проецирование прямоугольника на новую систему координат. Есть ли способ контролировать это?
library(ggplot2)
library(maps)
library(mapdata)
xlim <- c(5, 10)
ylim <- c(60, 62)
norwaymap <- map_data("worldHires", "Norway")
a <- ggplot(norwaymap, aes(x = long, y = lat, group = group)) +
geom_polygon(colour = NA, fill = "grey60") +
geom_rect(xmin = xlim[1], xmax = xlim[2], ymin = ylim[1], ymax = ylim[2],
colour = "red", fill = NA) +
coord_map(xlim = c(3, 33), ylim = c(57, 72))
print(a) # super slow
Использование карты с низким разрешением делает карту намного быстрее (около 10 секунд).
Так geom_rect рисовал один прямоугольник для каждой строки в данных карты, но установка 'data = data.frame()' отключает это. Рад, что я спросил, - я бы так быстро не справился сам. –