Re: ColorFunctions again (making z=0 be different from z=1)

• To: mathgroup at smc.vnet.net
• Subject: [mg50540] Re: ColorFunctions again (making z=0 be different from z=1)
• From: "Peltio" <peltio at twilight.zone>
• Date: Thu, 9 Sep 2004 05:18:56 -0400 (EDT)
• References: <chk0cu\$sj\$1@smc.vnet.net>
• Reply-to: "Peltio" <peltioNOSP at Mdespammed.com.invalid>
• Sender: owner-wri-mathgroup at wolfram.com

```"AES/newspost" wrote

>The simple  ColorFunction->Hue  option in Plot3D, ContourPlot, and
>DensityPlot, makes z = 0 appear the same as z = 1 (i.e., both bright
>red), a situation which seems to me to make these plots confusing
>and more difficult to interpret, given that "high peaks" and "sea
>level valleys" may be the most interesting features of such a plot.
>
>Do others have any favorite, not too messy ColorFunctions that
>make values near z = 0 tend toward white, or grey, or less bright,
>or something so that there's a clearly unidirectional visual
>effect going from values of z near 0 to those near z = 1?

Black and white is elegant, isn't it? : )
So, why not to use

GrayLevel

?
This sets the maximum and minimum levels to different values

LimitedGrayLevel[x_, maxBk_:0.3, maxWh_:0.90] :=
GrayLevel[maxBk + x(maxWh - maxBk)]

This is the color function I used to plot fuzzy relations:

FuzzyGray[x_] := LimitedGrayLevel[1 - x, 0, .9]

Here are a few examples

f[x_, y_] := Sin[(x^2 + y^2)]/Sqrt[(x^2 + y^2)]

Block[{\$DisplayFunction = Identity},
p2d = Plot[Evaluate[First[GrayLevel[1 - x]]], {x, 0, 1}, Frame ->
True,
PlotRange -> {0, 1}, AspectRatio -> Automatic];
p3d =
Plot3D[f[x, y], {x, -4, 4}, {y, -4, 4},
ColorFunction -> (GrayLevel[1 - #] &), PlotRange -> All,
PlotPoints -> 35];
];
Show[GraphicsArray[{p2d, p3d}, PlotLabel -> "GrayLevel[1-#]"]];

Block[{\$DisplayFunction = Identity},
p2d = Plot[Evaluate[First[LimitedGrayLevel[1 - x]]], {x, 0, 1},
Frame -> True, PlotRange -> {0, 1}, AspectRatio -> Automatic];
p3d =
Plot3D[f[x, y], {x, -4, 4}, {y, -4, 4},
ColorFunction -> (LimitedGrayLevel[1 - #] &), PlotRange -> All,
PlotPoints -> 35];
];
Show[GraphicsArray[{p2d, p3d}, PlotLabel -> "LimitedGrayLevel[1-#]"]];

Block[{\$DisplayFunction = Identity},
p2d = Plot[Evaluate[First[FuzzyGray[x]]], {x, 0, 1}, Frame -> True,
PlotRange -> {0, 1}, AspectRatio -> Automatic];
p3d =
Plot3D[f[x, y], {x, -4, 4}, {y, -4, 4}, ColorFunction ->
FuzzyGray,
PlotRange -> All, PlotPoints -> 35];
];
Show[GraphicsArray[{p2d, p3d}, PlotLabel -> "FuzzyGray[#]"]];

Cheers,
Peltio
invalid address in reply-to. crafty demunging required to mail me.

```

• Prev by Date: Re: Exact real numbers
• Next by Date: Re: parallel NMinimize[]
• Previous by thread: Re: ColorFunctions again (making z=0 be different from z=1)
• Next by thread: Re: ColorFunctions again (making z=0 be different from z=1)