Re: Define a function as a graphics directive?
- To: mathgroup at smc.vnet.net
- Subject: [mg105078] Re: Define a function as a graphics directive?
- From: fd <fdimer at gmail.com>
- Date: Fri, 20 Nov 2009 06:38:41 -0500 (EST)
- References: <he0ngh$43r$1@smc.vnet.net> <he3e6q$jau$1@smc.vnet.net>
On Nov 19, 11:37 pm, Harrie Kraai <hakr... at xs4all.nl> wrote: > Hi, > > My quick solution would be this: > > cpl = ContourPlot[ > z Exp[-Sqrt[z^2 + x^2]/2.], {x, -10, 10}, {z, -10, 10}, > ContourShading -> None, Contours -> 15, ContourStyle -> {Thick}]; > > cpl /. {tt_Tooltip :> Sequence[If[tt[[2]] > 0, Black, Red], tt]} > > which makes use of the fact that the tooltip contains the value of the > contourline > > Have fun, > > HK > > Porscha Louise McRobbie wrote: > > Hi, > > > I have a very simple contour plot: > > > ContourPlot[ z Exp[-Sqrt[z^2 + x^2]/2.], {x, -10, 10}, {z, -10, 10}, > > ContourShading -> None, Contours -> 15, > > ContourStyle -> {{Black, Thick}}] > > > I do not want the plot shaded, but I want to color the contour lines = > > according to a function of z (e.g., Sign[z], where z>0 is black, z<0= > > is red). Can this be done within ContourStyle? > > > I tried putting a function definition for the color inside > > ContourShading, but I get an error since it's not a graphics directive = > > (and it's my understanding that ColorFunction is only for shading the = > > regions between contours). > > > Thanks for any input! > > Porscha Hi Again.. Just forgot to suggest a solution that involves RegionPlot. You'll need to work a few more details, but in essence it is f[z_, x_] = z Exp[-Sqrt[z^2 + x^2]/2.]; lf = #1 < f[x, y] < #2 & @@@ Table[{ii, ii + 0.05}, {ii, -0.6, 0.6, 0.2}] RegionPlot[lf, {x, -10, 10}, {y, -10, 10}, ColorFunction -> Function[{x, y}, Hue[f[x, y] + 0.5]], PerformanceGoal -> "Quality", PlotPoints -> 100] Best F