[R] color.scale error
Jim Lemon
jim at bitwrit.com.au
Fri Feb 18 10:10:20 CET 2011
On 02/18/2011 04:31 AM, Alaios wrote:
> Dear all
> when I call color.scale like this:
>
>
> require('plotrix')
> colcolor<-color.scale(c(range_sr,sr),extremes=c("red","blue"))
>
>
> Error in if (min(reds)< 0 || max(reds)> 1) reds<- rescale(reds, c(0, :
> missing value where TRUE/FALSE needed
>
>
> range_sr
> [1] -10.00000000000000 44.02977813958366
>
> str(sr)
> num [1:100, 1:100] 2.54 2.71 2.89 2.95 3.03 ...
>
>
> this was working on simpler data sets before.
>
> How can I understand more what was the problem in depth.? I have read the source code of color.scale but unfortunately I did not make any progress to understand this error message. Is it possible to raise an exception before the error happens and see what went wrong?
>
Hi Alex,
When you concatenate (c) the extremes and the matrix, you get a vector:
> sr<-matrix(runif(10000,-10,44.03),100,100)
> str(sr)
num [1:100, 1:100] 11.2 27.13 4.13 -4.46 26.44 ...
> sr_colors<-color.scale(c(-10,44.03,sr))
> str(sr_colors)
chr [1:10002] "#000000" "#FFFFFF" "#646464" "#AFAFAF" "#434343" ...
Recreate the matrix:
sr_colors<-matrix(sr_colors[-(1:2)],100,100)
and all should be well.
Jim
More information about the R-help
mailing list