Как создать привлекательную карту хороплета в R?


18

Я экспериментировал с методами картирования choropleth в R, получив преимущества ggplot2 для создания красивых графиков в мощном пакете анализа данных.

Когда дело доходит до картографирования, мне не удалось получить результаты, сопоставимые с теми, которые я обычно получаю из QGIS. Используя данные потока в Шеффилде (полностью воспроизводимые данные и файл .qgs здесь ), QGIS легко выдает следующее:

Изображение QGIS

Лучшее, что я мог получить, используя R (используя описанный здесь код ), это две карты, первая с использованием GISTools, вторая с использованием ggplot2:

GISTools хороплет ggplot2 choro

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

Итак, вопрос в два раза: является ли опция ggplot2 лучшим решением для картирования хороплетов в R и, если да, как я могу решить проблему с неисправными белыми линиями?

Воспроизводимый код, чтобы узнать, что я сделал, находится здесь .

Редактировать - Поскольку опция вывода choropleth () стала более привлекательной:

Новый Rplot

Уродство этой опции можно уменьшить, экспортировав в более высоком разрешении и удалив легенду ( доступны другие R легенды ). Еще не удалось изменить толщину линии, но она становится лучше! Красные линии представляют потоки в зоны, в которых работают> 5000 человек.


1
Первая карта R выглядела бы намного лучше, если бы вы уменьшили размер контуров многоугольника (и, возможно, сделали их полностью прозрачными, как в первом примере QGIS).
Энди W

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

На эту очень интересную тему есть несколько замечательных ресурсов, в том числе:

Из революций:

Choropleth Map R Challenge

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

Из стека переполнения.se:

Разработка географических тематических карт с помощью R

Есть отличные примеры карт с хороплетом и связанных с ними кодов R, включая мою любимую (то есть прикрепленную карту) с использованием ggplot2. Должно быть относительно просто вставить свой собственный набор данных в один из примеров сценария.

Код R для этой карты доступен от Это Зеленая Комната


Большое спасибо за пометку этих прекрасных ресурсов и за то, что показали карту безработицы США. Хотя отсутствует легенда! Любые предложения, как перевести эти ресурсы в карты Шеффилда? Фрагменты кода, чтобы разобраться в моей неудачной попытке картирования хороплетов с использованием ggplot2 и данных, которые я предоставил из Шеффилда, очень ценятся!
RobinLovelace

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

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