Як створити привабливу карту хороплетів у R?


18

Я експериментував з методами хороплетського картографування в R, пожвавши переваги ggplot2 для створення прекрасних графіків у потужному пакеті аналізу даних.

Що стосується картографування, я не зміг дати результатів, порівнянних з тими, які я звичайно отримую від QGIS. Використовуючи дані потоку в Шеффілді (повністю відтворені дані і .qgs файл тут ), QGIS легко отримати наступне:

QGIS-зображення

Найкраще, що я міг створити за допомогою R (використовуючи описаний тут код ), були ці дві карти, перша використовувала GISTools, друга використовувала ggplot2:

GISTools choropleth ggplot2 хоро

Мені варіант ggplot2 здається набагато привабливішим, якби тільки я міг вирішити проблему несправних рядків (можливо, проблема з командою fortify () або не читати у форматі файлів за допомогою readOGR (), описаного тут .)

Тож питання дворазове: чи є варіант ggplot2 найкращим рішенням для картування хороплетів в R, і якщо так, то як я можу вирішити проблему несправних білих ліній?

Відтворений код , щоб дізнатися, що я зробив це тут .

Редагувати - Оскільки варіант виводу choropleth () зробив більш привабливим:

Новий Рплот

Потворність цього варіанту може бути зменшена шляхом експорту з більшою роздільною здатністю та видаленням легенди ( інші R-легенди доступні). Ще не вдалося змінити товщину лінії, але вона стає кращою! Червоні лінії являють собою потоки до зон, де працюють понад 5000 осіб.


1
Перша карта R виглядатиме набагато приємніше, якби ви зменшили розмір контурів багатокутника (і, можливо, зробили їх повністю прозорими, як у першому прикладі QGIS).
Енді Ш

3
Погодився, але я не знаю, як це зробити - код, який я використав, був "choropleth (oas, v = oas $ to, абажури)". Шукали документацію для видалення рядків, але нічого не знайшли: cran.r-project.org/web/packages/GISTools/GISTools.pdf
RobinLovelace

1
@RobinLovelace Якщо ви поставите свій код R, ми, безумовно, можемо допомогти вам у вирішенні цих проблем, але без відтворюваного прикладу визначити проблеми непросто. Я вдячний за зусилля, які ви доклали, щоб створити (корисні) скріншоти, але зображення - це лише обмерзання, яке слід доставити поверх торта вихідного коду.
SlowLearner

Перегляньте відтворюваний код, який міститься в цій папці .zip, як зазначено вище: dl.dropbox.com/u/15008199/Rflows-simple.zip
RobinLovelace

@RobinLovelace Спасибі, цікаво, завантажили
SlowLearner

Відповіді:


7

Існує кілька чудових ресурсів саме на цю дуже цікаву тему, зокрема:

З революцій:

Charopleth Map R Challenge

Результати Choropleth Challenge

З стека Overflow.se:

Розробка географічних тематичних карт з R

Є чудові приклади карт хороплета та пов'язаного з ними коду R, включаючи мій улюблений (тобто додану карту) за допомогою ggplot2. Потрібно порівняно прямо вставити власний набір даних в один із прикладів сценарію.

Код R для цієї карти доступний на веб-сайті Це Зелена кімната


Велике спасибі за те, що вони позначили ці чудові ресурси та показали карту безробіття США. Відсутня легенда, хоча! Будь-які пропозиції, як перекласти ці ресурси на карти Шеффілда? Фрагменти коду, щоб розібратися в моїй невдалій спробі картографування хороплета за допомогою ggplot2 та даних, які я надав про Шеффілд, дуже вдячні!
RobinLovelace

@RobinLoveLace Я радий, що посилання вам були корисні. У вас не повинно виникнути проблем із підключенням вашого власного набору даних до багатьох зразків сценаріїв, хоча, можливо, вам доведеться закатати рукави та зробити трохи спроб та помилок у конкретних пакетах. На жаль, у мене зараз немає часу зробити це за вас - вибачте!
Аарон

1
Я буду грати, і, сподіваюся, додамо подальші зміни та код, що повторюється, коли карта покращиться.
RobinLovelace
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.