Это поэтапная реализация того, что я имел в виду под моим комментарием. Я не использовал External Post, о котором я упоминал, но он похож на другую ссылку, которая делает что-то вроде того, что я делаю, чтобы сделать карту.
Как @FR. сказал в своем ответе, что GADM - это хорошее место для получения необходимых картографических данных - шейп-файла.
Go to [GADM](http://www.gadm.org/) and click on the "Download" tab.
Use the pulldown menu to select United Kingdom as the country.
Change the file format to Shapefile.
Click OK
Click Download
You should get a zip file called GBR_adm_shp.zip
Unzip it someplace useful
There should be a bunch of files with extensions cpg, csv, dbf, prj, shp, and shx
Если вы уже не имеете их, установить пакеты sp
, rgeos
и maptools
.
Теперь некоторые довольно простой R код
library(maptools)
UK_adm2 = readShapeSpatial("PathToData\GBR_adm2.shp")
plot(UK_adm2)
Есть на самом деле три шейп в zip: adm0, adm1 и ADM2. Попробуйте все три, чтобы узнать, какой уровень детализации вам нужен. Также обратите внимание, что есть куча файлов с одинаковыми именами, но с разными расширениями. Вы хотите загрузить файл .shp.
Вы можете поэкспериментировать с тремя шейп-файлами, снабженными adm0, adm1 и adm2 (они имеют разные уровни детализации). Вы также можете экспериментировать с обрезкой некоторых отдаленных отдаленных островов, чтобы получить хороший вид на главный остров.
plot(UK_adm2, xlim=c(-8,0), ylim=c(49,61))
Теперь у вас есть данные в объекте R, вы можете получить то, что находится внутри. names(UK_adm2)
покажет вам некоторые внутренние данные. Вы можете получить список графств, набрав UK_adm2$NAME_2
. Давайте выделим Бедфордшир. plot(UK_adm2[3,], col="#FF444488", add=TRUE)
Вы только что видели, что можете окрасить отдельные округа. Что вам нужно сделать, так это выяснить, как вы хотите покрасить каждый из них. Это будет означать отображение любого количества, которое вы хотите отобразить в цветовой схеме. Взгляните на colorRampPalette
. Тогда вы хотите что-то вроде этого:
plot(UK_adm2, col=rainbow(12, alpha=0.6), xlim=c(-8,0), ylim=c(49,61))
кроме того, что когда я писал col=rainbow(12, alpha=0.6)
вам нужно будет заменить цветовую схему, которая имеет смысл.
Попробуйте [This Post] (http://bl.ocks.org/prabhasp/raw/5030005/) – G5W
Вам нужно показать, как выглядят ваши данные, но я мог бы предложить [рекламный листок] (https: // rstudio .github.io/листовки /), который является разумно удобным для пользователя и будет выглядеть красиво на веб-сайте. Подсказка: пузырькам требуется только lat/lon для точек, и, следовательно, будет намного проще, чем choropleth, для чего требуется шейп-файл с полигонами. – alistaire
@ G5W Привет, спасибо за этот пример. Я импортировал файл формы ([link] (http://www.statsilk.com/files/country/StatPlanet_UK.zip)), но я не смог преобразовать его в кадр данных с помощью функции fortify. Ошибка: «rgeos_PolyCreateComment: потерянное отверстие, не может найти содержащий многоугольник для отверстия в индексе 2». Мой код «uk_dist <- readShapeSpatial (« ~/StatPlanet_UK/map/файл.shp ») plot (uk_dist) library (ggplot2) uk_dist <- fortify (uk_dist, region = "NAME1") ' – sue94