[R] color2d.maplot error

Jim Lemon jim at bitwrit.com.au
Tue Feb 8 09:11:15 CET 2011


On 02/08/2011 03:25 AM, Alaios wrote:
> Dear all
> I am using color2D.maplot to map some matrixes to plot. everything works fine. It seems that when my matrix contains only the same value color2D.maplot returns the following error:
>
>
> color2D.matplot(estimatedsr,redrange=c(0,1),greenrange=c(0,.5),bluerange=c(0,.5),xlab="x",ylab="y",main=sprintf('Estimated'),show.legend=TRUE,show.values=TRUE)
> Error in rgb(reds, greens, blues) : color intensity 18.5, not in [0,1]
> Calls: color2D.matplot ->  color.scale ->  rgb
>
>
> if you want to generate the error above try the following:
>
>
> require('plotrix')
> estimatedsr<-matrix(data=18.5,ncol=6,nrow=6)
> color2D.matplot(estimatedsr,redrange=c(0,1),greenrange=c(0,.5),bluerange=c(0,.5),xlab="x",ylab="y",main=sprintf('Estimated'),show.legend=TRUE,show.values=TRUE)
>
Hi Alex,
This is because the "rescale" function that is called by "color.scale" 
that is called by "color2D.matplot" returns the original values when 
there is zero variation. I never thought anyone would want to present a 
color-value matrix when the cells were all the same color. In fact, I am 
finding it hard to believe that you really want to do this. However, if 
you really, really do, here is how:

color2D.matplot(estimatedsr,cellcolors=matrix("indianred3",6,6),
  xlab="x",ylab="y",main=sprintf('Estimated'),show.legend=TRUE,
  show.values=TRUE)

Plus, you get a gold star for reminding me to add the semi-intelligent 
text color routine to color2D.matplot. Thanks.

Jim



More information about the R-help mailing list