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.