Spplotで色を変えるcutsやatを使う。

Rで描画回りははまるので、なるべく使わないようにしているのですが、
やっぱりRが便利なのでつい使ってしまってはまってしまいます。
良く忘れるので備忘録にメモしておきます。

ベクターの場合・・・cutsを使う。

x <- data.frame(
  x=c(141.1,141.1,141.1,141.2,141.2,141.2,141.3,141.3,141.3,141.2),
  y=c(38.11,38.12,38.14,38.11,38.12,38.13,38.11,38.12,38.13,38.2),
  v1=c( 100,  200,  300,    0,  200,  300,  100,  200,  300,1000)
  )
source("https://raw.githubusercontent.com/yamakita3/RShortCuts/master/xyz2spdf.r")
x.spdf <- xyz2spdf(x[,1],x[,2],x[,])
 spplot(x.spdf[,3],cuts=c(0,100,200,1000,1001),col.regions=c("gray",rev(heat.colors(3)))
  ,xlim=c(141,141.5),ylim=c(38.1,38.3))
# https://edzer.github.io/sp/

凡例を消す際には・・・auto.key

library(sp);data(meuse); coordinates(meuse)=~x+y
# point data
spplot(meuse, "elev", auto.key=FALSE, cex = 2) 
#参考 https://stackoverflow.com/questions/19187633/removing-colour-scale-on-spplot-in-r

ラスターの場合・・・atを使う

source("https://raw.githubusercontent.com/yamakita3/RShortCuts/master/xyz2spdf.r")
x.spdf <- xyz2spdf(x[,1],x[,2],x[,])
x.spixcdf <- SpatialPixelsDataFrame(x.spdf@coords,x.spdf@data,0.5)
spplot(x.spixcdf[,3],at=c(0,1,10,100,1000),col.regions=rev(heat.colors(5))
,xlim=c(141,142.5),ylim=c(38.1,41.0))
#spplotのTips http://d.hatena.ne.jp/rsnaru/20150515/1431672155

凡例を消す際には・・・colorkey

library(sp); data(meuse.grid); gridded(meuse.grid)=~x+y
## Gridded data
spplot(meuse.grid, "dist", colorkey=FALSE)