[R] How to set Color scale for color2D.matplot()
Jim Lemon
jim at bitwrit.com.au
Fri Jul 22 13:57:56 CEST 2011
On 07/22/2011 01:42 AM, Youcheng Lin wrote:
> Hello, everyone.
>
> I am trying to show the correlation matrix using
> color2D.matplot(). And I want to map (0,1) to (dark red to dark green).
>
> But by default color2D.matplot() will map(min element of given matrix,
> max element of given matrix) to (dark red to dark green).
>
Hi Youcheng,
If I understand your question, you have a correlation matrix with some
values below zero, but you want to map only those values greater than or
equal to zero as dark red - dark green. I'll assume that you want
another set of colors for the negative values (purple to dark blue).
Here's how:
corr.matrix<-matrix(runif(100,-1,1),nrow=10)
cellcolors<-matrix(NA,nrow=10,ncol=10)
cellcolors[corr.matrix >= 0]<-
color.scale(corr.matrix[corr.matrix >= 0],
cs1=c(0.7,0),cs2=c(0,0.7),cs3=0)
cellcolors[corr.matrix < 0]<-
color.scale(corr.matrix[corr.matrix < 0],
cs1=c(0.7,0),cs2=0,cs3=0.7)
color2D.matplot(corr.matrix,cellcolors=cellcolors,
show.values=TRUE)
I've included the values in the example so that you can see that the
positive and negative values are getting the correct colors.
Jim
More information about the R-help
mailing list