Giúp chọn sơ đồ tô màu ánh xạ choropleth phù hợp nhất


10

Tôi đang cố gắng phủ lên một biến danh nghĩa (2 loại - mưa và tưới) trong bản đồ choropleth trên một biến số.

nhập mô tả hình ảnh ở đây

Để làm nổi bật sự khác biệt về hoa văn giữa hai loại, tôi đã phác thảo một loại có màu khác (vùng được tưới trong "màu đỏ"), trong khi loại không có màu là vùng có mưa.

Tuy nhiên, bản đồ cảm thấy lộn xộn và phác thảo trộn với các màu tối hơn của biến số.

Tôi đang cố gắng tránh sử dụng hai lược đồ tô màu khác nhau để thể hiện hai loại vì tôi cảm thấy điều đó sẽ che giấu sự phân phối tổng thể của biến cơ bản.

Có cách nào tốt hơn để biểu diễn phân loại bivariate này bằng cách sử dụng gói ggplots2 trong R (mà tôi hiện đang sử dụng nó để tạo bản đồ đính kèm)?

Những bản đồ này cuối cùng sẽ được in trên giấy.


Xem xét tính toán khoảng cách euclide trên biên giới khu vực tưới. Thêm chi tiết tại đây: gis.stackexchange.com/q/53163/8104
Aaron

@Aaron, nhờ liên kết, tính năng định hướng có thể hoạt động cho điều này và tôi có thể sử dụng công cụ đệm để vẽ các khu vực đó trong R. Tuy nhiên, mối quan tâm duy nhất của tôi sẽ là kích thước tương đối nhỏ của đa giác có thể bị làm mờ bởi rộng hơn đề cương. Tôi sẽ thử nó.
varungoel123

@ varungoel123 Tôi đã đăng một giải pháp R bằng cách sử dụng các gói rasterrasterViscó thể bạn quan tâm.
thiagigsoso

Câu trả lời:


7

Thay vì phác thảo để chỉ ra các khu vực được tưới, bạn nên sử dụng một cái gì đó như một mẫu điền trong suốt (ví dụ: đường kẻ, đường chân). Một ví dụ sẽ trông giống như thế này:

http://www.geog.fu-berlin.de/de/Karto/umn_karten/bilder/komb2.png

hoặc chỉ cần google "mẫu điền bản đồ" để có cái nhìn tổng quan về các tùy chọn. Chỉ sử dụng các phác thảo cho các khu vực tưới sẽ tạo ấn tượng rằng tưới không phải là một hiện tượng liên tục.


Đó là một gợi ý tuyệt vời. Có cách nào để làm điều này trong ggplot2 hoặc một số gói khác trong R không? Tôi có khoảng 60-70 bản đồ trong đó việc phá hủy các khu vực tưới nước và tưới tiêu không đổi. Với ggplot2, tôi đã có thể tự động hóa việc sản xuất bản đồ, điều mà tôi chưa thể đạt được khi sử dụng ArcMap hoặc Qgis
varungoel123

Tôi không quen thuộc với ggplot2 hoặc R. Tuy nhiên mẫu điền này là một điều khá Tiêu chuẩn và không quá khó để đạt được. Tôi biết làm thế nào để làm điều đó trong Qgis hoặc ArcMap. Trong cả hai chương trình, bạn có thể lưu kiểu đó sau khi xác định và sử dụng lại kiểu đó. Tự động hóa cũng nên có thể với cả hai. Một kịch bản python hoặc arcpy có thể làm công việc cho bạn.
Chris P

1
Thật không may, ggplot không giỏi trong các mẫu điền (nhưng xem ở đây để thay thế)
cengel

QGis trong phiên bản 2.0.1 cũng cung cấp sản xuất bản đồ tự động
Zbynek

1

Gần đây tôi đã phải làm một bản đồ tương tự. Giải pháp tôi đưa ra là sử dụng gói rasterVis, chứ không phải ggplot2 (đây là một gói tuyệt vời).

Trong trường hợp của tôi, tôi đã có một bản đồ về các xu hướng theo thời gian (cũng là một biến số) và cũng là một bản đồ cho thấy tầm quan trọng của xu hướng (thu được từ một bài kiểm tra thống kê).

Trong trường hợp của tôi, tôi muốn vẽ sơ đồ có ý nghĩa trên bản đồ số, một cái gì đó tương tự như mẫu "quy định", để chỉ ra mức độ tin cậy cao hơn.

Đây đại khái là mã mà tôi đã sử dụng để tạo bản đồ.

require(raster)
require(rasterVis)

# Scratch raster objects
data(volcano)
r1 <- raster(volcano)

over <- ifelse(volcano >=160 & volcano <=180, 1, NA) # This is the "mask" raster
r2 <- raster(over)

# And this is the key step:
# To convert the "mask" raster to spatial points
r.mask <- rasterToPoints(r2, spatial=TRUE)

# Plot
levelplot(r1, margin=F) +
layer(sp.points(r.mask, pch=20, cex=0.3, alpha=0.8))

Trong trường hợp của bạn, bạn có thể thay đổi mã bằng cách:

1) tạo raster "nhị phân", trong đó ví dụ 0 là mưa và 1 được tưới, và vẽ nó giống như tôi đã làm hoặc;

2) tạo ra hai mặt nạ khác nhau, một cho mưa và một cho tưới, và vẽ cả hai thành các đối tượng khác nhau (ví dụ như các vòng tròn cho mưa và chéo cho mưa).

Tôi nghĩ rằng giải pháp thay thế thứ hai sẽ khiến bản đồ trông quá "ô nhiễm", nhưng bạn luôn có thể kiểm soát các tham số của các điểm bằng cách tham khảo sptài liệu gói - cụ thể ?sp.points.

Hy vọng nó giúp.

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.