Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Locking color key in levelplot in r

Tags:

r

levelplot

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.

enter image description here

enter image description here

like image 593
Ram Avatar asked Aug 22 '13 20:08

Ram


1 Answers

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)

my.mat1my.mat2

like image 87
ialm Avatar answered Oct 18 '22 10:10

ialm