# [R] FW: color palette

From: Tuszynski, Jaroslaw W. <JAROSLAW.W.TUSZYNSKI_at_saic.com>
Date: Fri 05 Aug 2005 - 05:36:45 EST

Try:

```n   = 100;
x   = matrix(seq(-10, 30, length.out=500), ncol=1)
col = colorRampPalette( c("green", "white", "red"), space="rgb")(n) breaks =
```
c(seq(-10, 0, length.out=n/2)-0.5, 0, seq(0, 30, length.out=n/2)+0.5) image(x, col=col, breaks=breaks)

See also today's discussion on R-Help about "red-black-green color palette", since most of the code above came from Earl Glyn post.

Jarek

```====================================================\=======

Jarek Tuszynski, PhD.                           o / \
Science Applications International Corporation  <\__,|
(703) 676-4192                                   ">   \
Jaroslaw.W.Tuszynski@saic.com                     `    \

```

Thanks for the suggestion. I still could not figure out how to use the function to do my job. What's important in my job is that I have to map white color to value 0, and then form a bue gradient for negative values, and red gradient for positive values. The data matrix I have is not symmetric aound 0, say 0 is at the 18 percentile, and values range from -10 to 30.
How exactly I could do my job? Bear with me, I am new to color, I don't quite understand how the image function map the number is the data matrix to the colors defined in the col argument.

Thanks

• Thomas Lumley <tlumley@u.washington.edu> wrote:

> On Wed, 3 Aug 2005, array chip wrote:
>
> > Hi, I have a matrix with both positive and
> negative
> > numbers, I would like to use image() to draw a heatmap. How can I
> > can design a palette (or is
> there a
> > function already available) that treat negative numbers in a blue
> > gradient and positive numbers in
> a
> > red gradient and treat 0 as white?
> >
>
> ?colorRampPalette
>
> -thomas
>

R-help@stat.math.ethz.ch mailing list