color gradients
- To: mathgroup at yoda.physics.unc.edu (Mathematica mailing list)
 - Subject: color gradients
 - From: msdrl!nachbar at uunet.uu.net (Dr. Robert B. Nachbar)
 - Date: Fri, 22 Jan 93 8:36:53 EDT
 
well, after i sent that cry for help yesterday, i dickered around some
more with the options to ContourPlot. it turns out that the thing to do
is to use the ColorFunction option:
In[1]:= reverseGrayLevel[x_]:=GrayLevel[1-x] ;
In[2]:= ContourPlot[(1-Sin[x])(2-Cos[2 y]), {x,-2,2},{y,-2,2},
      ColorFunction->reverseGrayLevel] ;
which does the trick! in fact, i was so captivated by my success that i
put together the following package to make using color gradients easy:
------------------cut here----------------------
(* Copyright 1992 Merck & Co., Inc. *)
(*:Title: ColorGradients *)
(*:Author: Robert B. Nachbar *)
(*:Version: Mathematica 2.1 *)
(*:Keywords:
*)
(*:Sources: none. *)
(*:Requirements: none. *)
(*:Warnings: none. *)
(*:Summary: This package contains functions that produce color 
gradients for use with the ColorFunction option.
*)
BeginPackage["Graphics`ColorGradients`"]
ReverseGrayLevel::usage = "ReverseGrayLevel[z] produces a gray scale 
that goes from white to black as the argument goes from 0 to 1."
RedGradient::usage = "RedGradient[z] produces a color gradient 
that goes from white to red as the argument goes from 0 to 1."
GreenGradient::usage = "GreenGradient[z] produces a color gradient 
that goes from white to green as the argument goes from 0 to 1."
BlueGradient::usage = "BlueGradient[z] produces a color gradient 
that goes from white to blue as the argument goes from 0 to 1."
CyanGradient::usage = "CyanGradient[z] produces a color gradient 
that goes from white to cyan as the argument goes from 0 to 1."
MagentaGradient::usage = "MagentaGradient[z] produces a color gradient 
that goes from white to magenta as the argument goes from 0 to 1."
YellowGradient::usage = "YellowGradient[z] produces a color gradient 
that goes from white to yellow as the argument goes from 0 to 1."
Begin["`Private`"]
ReverseGrayLevel[x_] := GrayLevel[1-x]
RedGradient[x_] := RGBColor[1, 1-x, 1-x]
GreenGradient[x_] := RGBColor[1-x, 1, 1-x]
BlueGradient[x_] := RGBColor[1-x, 1-x ,1]
CyanGradient[x_] := RGBColor[1-x, 1, 1] ;
MagentaGradient[x_] := RGBColor[1, 1-x, 1] ;
YellowGradient[x_] := RGBColor[1, 1, 1-x] ;
End[]
EndPackage[]
------------------cut here----------------------
one can even make gradient that blend from one color into another!
happy plotting!
bob
-- 
Dr. Robert B. Nachbar | Merck Research Laboratories | 908/594-7795
nachbar at msdrl.com     | R50S-100                    | 908/594-4224 FAX
                      | PO Box 2000                 |
                      | Rahway, NJ 07065            |