GGplot geom_map искажается при интерактивном построении с помощью ggplotly
Я пытаюсь создать интерактивную карту Германии с plotly
а также ggplot
. Наконец, я хотел бы наложитьgeom_points
с всплывающими подсказками, но пока я борюсь с соотношением сторон.
Я создаю такой сюжет:
library(tidyverse)
library(ggplot2)
library(plotly)
p <- map_data("world") %>%
filter(region=="Germany") %>%
ggplot(aes(x=long, y = lat, group = group)) +
geom_polygon(fill="grey") +
coord_map()
Если просто построить график с помощью ggplot, соотношение сторон Германии такое, как я знаю из школы.
p
При преобразовании в сюжетный сюжет с ggplotly
сюжет искажен.
ggplotly(p)
Есть идеи, как это исправить? Не знаю, актуально ли это, но раньше я запускал этот код в документе R Markdown.
Большое спасибо.
1 ответ
Я полагаю, вы не можете получить приличный уровень детализации на карте мира, которую вы использовали. Карты бывают двух типов: общие и ГИС (реальные картографические данные).
Ниже представлена неискаженная карта Германии. Вот шаги и источники данных.
Скачать данные ГИС - карта Германии. Источник, https://gadm.org/download_country_v3.html Выберите уровень детализации. 0 - контур страны, 1 - страна с штатами. Эти файлы будут иметь расширения sp.rds.
Вырежьте и вставьте загруженный файл географических справочных данных в ваш рабочий каталог - это проще, чем создать путь из рабочего каталога в какое-либо другое место в папке. Поскольку эти данные являются фактическими геопространственными данными, использованными при создании этого графика Германии, эти данные / график можно использовать в качестве базовой карты или карты наложения с картами Google, картами Overstreet и т. Д.
Используйте следующие библиотеки и две строки кода, чтобы создать сюжет о Германии.
library(maptools)
library(raster)
library(rgdal)
gadm <- readRDS("gadm36_DEU_0_sp.rds") # get the gis file from w/d.
plot(gadm)