플롯 raster
객체 일반 플롯 방법보다 좀 더 유연 levelplot
와 래스터. 우리는 편의상 처음에 상한 및 하한 (z 제한) 벡터를 만듭니다.
zrng <- range(pretty(c(minValue(r), maxValue(r))))
levelplot(r, margin=FALSE, at=seq(zrng[1], zrng[2], diff(zrng)/1000),
col.regions=cols, scales=list(draw=FALSE))
![enter image description here](https://i.stack.imgur.com/2HcVf.png)
보너스 운동!다른 램프로,
r <- raster(matrix(runif(100, -0.3, 0.1), 10))
cols <- asym_colours(r, colorRampPalette(rev(brewer.pal(9, 'YlOrRd'))),
colorRampPalette(brewer.pal(9, 'Blues')))
zrng <- range(pretty(c(minValue(r), maxValue(r))))
levelplot(r, margin=FALSE, at=seq(zrng[1], zrng[2], diff(zrng)/1000),
col.regions=cols, scales=list(draw=FALSE))
![enter image description here](https://i.stack.imgur.com/JwK1Z.png)
나 : 예를 들어
asym_colours <- function(r, pal1, pal2, n=2000) {
zrng <- range(pretty(c(minValue(r), maxValue(r))))
brks <- do.call(seq, as.list(c(max(abs(zrng)) * c(-1, 1), length.out=2*n)))
c(pal1(n)[(sum(brks < zrng[1]) + 1):n],
pal2(n)[1:(sum(brks < zrng[2] & brks > 0) + 1)])
}
:
벡터 하위 설정을 자동화하기 위해 다음과 같은 기능을 사용할 수 있습니다
cols <- asym_colours(r, colorRampPalette(rev(brewer.pal(9, 'GnBu'))),
colorRampPalette(brewer.pal(9, 'PuRd')))
zrng <- range(pretty(c(minValue(r), maxValue(r))))
levelplot(r, margin=FALSE, at=seq(zrng[1], zrng[2], diff(zrng)/1000),
col.regions=cols, scales=list(draw=FALSE))
![enter image description here](https://i.stack.imgur.com/xV1Ro.png)
재현 예를하십시오 : http://stackoverflow.com/a/5963610/1412059 당신의 노력 – Roland