R의 래스터 범례 : 특정 값의 색상을 지정하는 방법?


30

R로 표시된 입면도 모델이 있습니다.

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

입면도

일부 값은 해수면 (0)보다 낮으며 그 값을 빨간색으로 표시하고 싶습니다. plot ()에서 특정 범위를 특정 색상에 할당하려면 어떻게해야합니까?

답변:


33

여기 정말 간단한 예가 있습니다

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)

여기에 이미지 설명을 입력하십시오

브레이크 포인트와 일치하도록 플롯에 브레이크 포인트 벡터와 색상 벡터를 전달하면됩니다. RColorbrewer내장 된 멋진 색상 램프에 대해서는 패키지를 확인하십시오 . 또한 classInt중단 점을 만들기 위해 패키지를 확인하십시오 .


내가 이것을 얼마나 오랫동안 바이올린 연주했는지 매우 창피합니다. 컬러 맥주에서 컬러 램프를 가져 오는 간단한 방법이 있습니까? 편집 : 죄송합니다. 이제 사이트가 아닌 패키지를 참조하고 있습니다.
— Simbamangu

3
@ Simbamangu, 우리는 모두 거기에 있었다. 실제로 다른 패키지에서 만든 객체 (예 : 제안한 객체)를 사용하여 실제로 중단 점 및 색상으로 전달되는 내용을 난독 화하는 많은 예제를 찾습니다. 나는 이것을 이렇게 보는 것이 가장 간단하다고 생각하고 다른 패키지를 사용하여 많은 작업을하지 않고도 적절한 중단 점과 색상 램프를 만듭니다.
— 앤디 W

4
나는 많은 R 패키지의 예제가 다른 객체에서 너무 많이 전달되어 이해하기가 정말 어렵다는 것에 완전히 동의합니다!
— Simbamangu
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.