Locking color key in levelplot in r

2019-05-06 22:50发布

问题:

I am using levelplots to display matrices and the plots are below. Though same col.regions are used for both the plots, the colour key is different. How can we lock (or set) the colour key for both level plots? I want the same colour key (0 to 60) for both plots.

回答1:

Try setting the at and colorkey parameters.

In my example, I use the rasterVis package, which just extends the lattice plotting functions for rasters, but it should not be necessary. I just wanted to use the BuRdTheme() function to set my own theme.

Example:

require(rasterVis)

# My matrix
my.mat1 <- matrix(rnorm(5*5),5,5)
my.mat2 <- matrix(rnorm(5*5,2,2),5,5)

# Custom theme (from rasterVis package)
my.theme <- BuRdTheme()

# Find the min and max values
my.min <- min(my.mat1, my.mat2)
my.max <- max(my.mat1, my.mat2)

# Customize the colorkey
my.at <- seq(my.min, my.max, length.out=length(my.theme$regions$col)-1)
my.ckey <- list(at=my.at, col=my.theme$regions$col)

# Level plot
levelplot(my.mat1, par.settings=my.theme, at=my.at, colorkey=my.ckey)
levelplot(my.mat2, par.settings=my.theme, at=my.at, colorkey=my.ckey)



标签: r levelplot