Darko
Darko

Reputation: 1768

Keep same colour scale between image plots (R)

I'm generating multiple plots with command image

image(X,Y,MAT,col=heat.colors(100))

this command is in a for cycle, where X, Y and MAT change.

How can I have the same colour scale for all the plots (I have to compre them)? How can I set a common colour scale (I have the maximum and minimum value beteen all plots)?

Thanks

Upvotes: 3

Views: 2275

Answers (1)

Stephan Kolassa
Stephan Kolassa

Reputation: 8267

Feed the overall maximum and minimum values of MAT over all loop iterations into the zlim parameter of image.

set.seed(1)
xx <- sort(rnorm(10))
yy <- sort(rnorm(10))
zz <- list(matrix(rnorm(100),nrow=10,ncol=10),matrix(rnorm(100)-2,nrow=10,ncol=10))
par(mfrow=c(1,2))
image(xx,yy,z=zz[[1]],col=heat.colors(100))
image(xx,yy,z=zz[[2]],col=heat.colors(100))

plot 1

image(xx,yy,z=zz[[1]],col=heat.colors(100),zlim=range(unlist(zz)))
image(xx,yy,z=zz[[2]],col=heat.colors(100),zlim=range(unlist(zz)))

plot 2

Upvotes: 5

Related Questions