Truyền thuyết raster trong R: làm thế nào để tô màu các giá trị cụ thể?


30

Tôi có một mô hình độ cao được vẽ trong R

r <- raster("example.dem")
plot(r, col = topo.colors(20))

Đồ thị độ cao

Một số giá trị nằm dưới mực nước biển (0) và tôi muốn các giá trị đó hiển thị màu đỏ. Làm cách nào tôi có thể gán phạm vi cụ thể cho các màu cụ thể trong cốt truyện ()?

Câu trả lời:


33

Đây là một ví dụ thực sự đơn giản

library(raster)
data(volcano)
volcanoR <- raster(volcano)

#making colors below 100 red and above 180 blue in this example

breakpoints <- c(94,100,120,140,160,180,195)
colors <- c("red","white","white","white","white","blue")
plot(volcanoR,breaks=breakpoints,col=colors)

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

Bạn chỉ cần truyền vào ô một vectơ điểm dừng và vectơ màu để khớp với điểm dừng. Kiểm tra các RColorbrewergói cho một số dốc màu được xây dựng rất đẹp. Ngoài ra kiểm tra các classIntgói để thực hiện các điểm dừng.


Tuyệt vời- xấu hổ bao lâu tôi nghịch với điều này. Có một cách đơn giản để nhập đường dốc màu từ nhà sản xuất bia màu? EDIT: xin lỗi, bây giờ tôi thấy bạn đang đề cập đến một gói, không phải trang web!
Simbamangu

3
@Simbamangu, tất cả chúng ta đã ở đó. Tôi thực sự tìm thấy nhiều ví dụ về việc làm điều này làm xáo trộn những gì thực sự được truyền qua như các điểm dừng và màu sắc bằng cách sử dụng các đối tượng được tạo từ các gói khác (như những gì tôi đề xuất). Tôi nghĩ đơn giản nhất là nhìn thấy nó như thế này, và sau đó tiếp tục sử dụng các gói khác để tạo các điểm dừng và đường dốc màu thích hợp mà không phải làm quá nhiều việc.
Andy W

4
Tôi hoàn toàn đồng ý với điều đó - các ví dụ trong nhiều gói R thực sự khó khăn để tìm ra, với quá nhiều thứ được mang từ các đối tượng khác!
Simbamangu
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.