Làm thế nào để tạo một bản đồ choropleth hấp dẫn trong R?


18

Tôi đã thử nghiệm các kỹ thuật ánh xạ choropleth trong R, đã gặt hái được những lợi ích của ggplot2 để tạo ra các biểu đồ đẹp trong gói phân tích dữ liệu mạnh mẽ.

Khi nói đến việc lập bản đồ, tôi đã không thể tạo ra kết quả tương đương với những gì tôi thường nhận được từ QGIS. Sử dụng dữ liệu của luồng trong Sheffield (dữ liệu có thể sao chép hoàn toàn và tệp .qss tại đây ), QGIS dễ dàng tạo ra các mục sau:

Hình ảnh quốc tế

Điều tốt nhất tôi có thể tạo ra bằng R (sử dụng mã được mô tả ở đây ) là hai bản đồ này, bản đồ đầu tiên sử dụng GISTools, bản đồ thứ hai sử dụng ggplot2:

GISTools choropleth ggplot2 choro

Đối với tôi, tùy chọn ggplot2 có vẻ hấp dẫn hơn nhiều, nếu tôi chỉ có thể giải quyết vấn đề của các dòng bị lỗi (có thể là vấn đề với lệnh fortify () hoặc không đọc trong shapefiles bằng readOGR () được mô tả ở đây .)

Vì vậy, câu hỏi là 2 lần: tùy chọn ggplot2 là giải pháp ánh xạ choropleth tốt nhất trong R và, nếu vậy, làm thế nào tôi có thể giải quyết vấn đề của các đường trắng bị lỗi?

Mã có thể sao chép để tìm hiểu những gì tôi đã làm ở đây .

Chỉnh sửa - Vì tùy chọn đầu ra choropleth () đã hấp dẫn hơn:

Rplot mới

Độ xấu của tùy chọn này có thể được giảm bằng cách xuất ở độ phân giải cao hơn và loại bỏ chú giải ( các truyền thuyết R khác có sẵn). Vẫn không được quản lý để thay đổi độ dày của dòng nhưng nó đang trở nên tốt hơn! Các đường màu đỏ đại diện cho các luồng đến các khu vực sử dụng> 5000 người.


1
Bản đồ R đầu tiên sẽ trông đẹp hơn rất nhiều nếu bạn giảm kích thước của các đường viền đa giác (và có lẽ làm cho chúng hoàn toàn trong suốt như trong ví dụ đầu tiên của QGIS).
Andy W

3
Đồng ý, nhưng tôi không biết làm thế nào để làm điều này - mã tôi đã sử dụng là "choropleth (oas, v = oas $ to, sắc thái)". Tìm kiếm tài liệu để xóa các dòng, nhưng không tìm thấy gì: cran.r-project.org/web/packages/GISTools/GISTools.pdf
RobinLigsace

1
@RobinLigsace Nếu bạn đặt mã R của bạn lên, chúng tôi chắc chắn có thể giúp bạn với những vấn đề này, nhưng không có ví dụ có thể lặp lại, không dễ để xác định vấn đề. Tôi đánh giá cao những nỗ lực bạn đã làm để đưa ra các ảnh chụp màn hình (hữu ích), nhưng các hình ảnh chỉ là đóng băng nên được gửi trên đầu trang của mã nguồn.
SlowLearner

Vui lòng xem mã có thể tái tạo có trong thư mục .zip này, như đã nêu ở trên: dl.dropbox.com/u/15008199/Rflows-simple.zip
RobinLigsace

@RobinLigsace Cảm ơn, thú vị, đã tải xuống
SlowLearner

Câu trả lời:


7

Có một số tài nguyên tuyệt vời về chính xác chủ đề rất thú vị này, bao gồm:

Từ các cuộc cách mạng:

Thử thách bản đồ Choropleth

Kết quả thử thách Choropleth

Từ Stack Overflow.se:

Phát triển bản đồ chuyên đề địa lý với R

Có những ví dụ tuyệt vời về bản đồ choropleth và mã R liên kết của chúng, bao gồm cả bản đồ yêu thích của tôi (tức là bản đồ đính kèm) bằng ggplot2. Nó sẽ tương đối đơn giản để chèn tập dữ liệu của riêng bạn vào một trong các ví dụ về tập lệnh.

Mã R cho bản đồ này có sẵn từ Đây là Phòng Xanh


Rất cám ơn đã gắn cờ những tài nguyên tuyệt vời này và cho thấy bản đồ thất nghiệp của Hoa Kỳ. Thiếu một huyền thoại mặc dù! Bất kỳ đề xuất làm thế nào để dịch các tài nguyên này vào bản đồ của Sheffield? Đoạn mã để sắp xếp nỗ lực thất bại của tôi trong ánh xạ choropleth bằng ggplot2 và dữ liệu tôi đã cung cấp của Sheffield rất đánh giá cao!
RobinLigsace

@RobinLoveLace Tôi rất vui vì các liên kết này hữu ích cho bạn. Bạn sẽ không gặp vấn đề gì khi cắm tập dữ liệu của riêng mình vào nhiều tập lệnh mẫu, mặc dù bạn có thể phải xắn tay áo lên và thực hiện một chút thử nghiệm và lỗi trên các gói cụ thể. Thật không may, bây giờ tôi không có thời gian để làm điều đó cho bạn - xin lỗi!
Aaron

1
Tôi sẽ chơi và hy vọng sẽ thêm các chỉnh sửa và mã có thể sao chép khi bản đồ được cải thiện.
RobinLigsace
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.