2017-01-05 3 views
-2

Я пытаюсь построить карту Choropleth/Bubble в Великобритании для моего собственного блестящего проекта панели.Как создать Choropleth или Bubble Map of UK в R

Моя приборная панель - это система управления информацией о студентах, и на карте предполагается, что учащиеся приходят из регионов (почтовые индексы или города тоже прекрасны). К сожалению, большинство пакетов, таких как plotly и ggmap, содержат только информацию о штатах США.

Итак, может кто-нибудь рассказать мне, как создать карту для Великобритании? Вот пример того, что я пытаюсь сделать: Choropleth Map for UK

+0

Попробуйте [This Post] (http://bl.ocks.org/prabhasp/raw/5030005/) – G5W

+1

Вам нужно показать, как выглядят ваши данные, но я мог бы предложить [рекламный листок] (https: // rstudio .github.io/листовки /), который является разумно удобным для пользователя и будет выглядеть красиво на веб-сайте. Подсказка: пузырькам требуется только lat/lon для точек, и, следовательно, будет намного проще, чем choropleth, для чего требуется шейп-файл с полигонами. – alistaire

+0

@ 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

ответ

1

Это поэтапная реализация того, что я имел в виду под моим комментарием. Я не использовал 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) UK map

Вы только что видели, что можете окрасить отдельные округа. Что вам нужно сделать, так это выяснить, как вы хотите покрасить каждый из них. Это будет означать отображение любого количества, которое вы хотите отобразить в цветовой схеме. Взгляните на colorRampPalette. Тогда вы хотите что-то вроде этого:

plot(UK_adm2, col=rainbow(12, alpha=0.6), xlim=c(-8,0), ylim=c(49,61)) 

Colored map of UK

кроме того, что когда я писал col=rainbow(12, alpha=0.6) вам нужно будет заменить цветовую схему, которая имеет смысл.

+0

Благодарим вас за это подробное руководство! Извините, что я не ответил раньше, потому что был в поездке. Я попробую ваше решение немедленно! – sue94

+0

Я думаю, что логика совершенно правильная, но моя r-студия только рухнет. Я думаю, это либо из-за того, что мой ноутбук достигает своего предела, либо потому, что некоторые пакеты были созданы под R версии 3.3.2. – sue94

+0

Нечетный. Я использую RGUI, а не RStudio, но я побежал над этим без проблем. Я стараюсь, чтобы моя версия R и пакеты синхронизировались. Когда я получаю много сообщений о «разных версиях», я обновляю R, а затем обновляю все пакеты. В какой момент вы терпите крах? – G5W

0

Некоторые примеры данных на которые потребуются для Рекомендуйте более точные шаги.

+0

Благодарим за помощь! Не могли бы вы ответить на еще один вопрос? Я получил шейп-файл в формате * .shp, но могу ли я использовать этот формат для картографического пакета? Я не думаю, что данные «nuts2006», упомянутые в учебнике, это * .shp. – sue94

+0

@ sue94 Пакет «cartography» может иметь дело с несколькими форматами, которые вы найдете в GADM, но обратите внимание, что GADM упрощает вам работу и предоставляет данные непосредственно для R, как файлы RDS :) –

+0

Спасибо, @Fr. Я на самом деле пробовал файлы RDS, но моя r-studio не могла его каким-то образом открыть. – sue94

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