[R] Color intervals in image.plot function
Jim Lemon
jim at bitwrit.com.au
Tue Feb 9 01:06:34 CET 2010
On 02/09/2010 04:45 AM, FMH wrote:
>
> Hi,
>
> The script below is my current coding in order to produce a contour plot of temperature across altitude and time. In my case, time,altitude and temperature are represented by x, y and z variables.
>
>
> ##############################################
> Brazilan.Pallete<- colorRampPalette(c("blue","green","yellow","red"))
> image.plot(x, y, z, col = Brazilan.Pallete(50))
> contour(x,y,z, levels = seq(1, 40, by = 1), add = TRUE, col = 'peru')
> ##############################################
>
>
>
> The plot worked fine but i found difficult to fix the interval of the color corresponding to z value. In my case, the range of z values is between 1 and 40 and i'd like to fix the color in the image correspoding to four sub-intervals of z values. For instance:
>
> 1. 1< z< 10 : blue
> 2. 11< z< 20: green
> 3. 21< z< 30: yellow
> 4. 31< z< 40 : red.
>
> I did't find a suitable code to do this. Could someone please give an advice on this matter?
>
Hi Fir,
The above is saying to me that you want to do this:
zcol<-c("blue","green","yellow","red")[z%/%10+1]
image.plot(x, y, z, col = zcol)
However, if you mean:
1 < z <= 10 : blue
...
you would have to do something like:
zcol<-c("blue","green","yellow","red")[(z-0.001)%/%10+1]
Jim
More information about the R-help
mailing list