Re: Piecewise ColorFunction
- To: mathgroup at smc.vnet.net
- Subject: [mg125660] Re: Piecewise ColorFunction
- From: Helen Read <readhpr at gmail.com>
- Date: Mon, 26 Mar 2012 01:47:41 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <jkm9sp$bvr$1@smc.vnet.net>
- Try If or Which instead of Piecewise - The function is f[x,y], not f - You still need to tell to use Function[{x,y}, ] to associate with the {x,y} coordinates in the plot Like so: Clear[f]; f[x_, y_] := If[y < 0, Green, Red]; Plot[Sin[x], {x, 0, 4 Pi}, PlotStyle -> Thick, ColorFunction -> Function[{x, y}, f[x, y]], ColorFunctionScaling -> False] Plot[Sin[x], {x, 0, 4 Pi}, PlotStyle -> Thick, ColorFunction -> Function[{x, y}, Which[Abs[y] < 1/2, Red, y >= 1/2, Blue, y <= -1/2, Green]], ColorFunctionScaling -> False] Helen Read University of Vermont On 3/25/2012 1:19 AM, Hugh Goyder wrote: > The first example below works to give a plot style with colours that vary with y-values. I then try to define a > Piecewise function for the colour and this does not work. Am I doing something wrong? Thanks for any assistance. > > Plot[Sin[x], {x, 0, 4 Pi}, PlotStyle -> Thick, > ColorFunction -> Function[{x, y}, ColorData["NeonColors"][y]]] > > > ClearAll[f]; > f[x_, y_] := Piecewise[{{Green, y< 0}, {Red, y>= 0}}] > > > Plot[Sin[x], {x, 0, 4 Pi}, PlotStyle -> Thick, ColorFunction -> f] > -- HPR