Re:Coloring 2DPlot with different colors
- To: mathgroup at yoda.physics.unc.edu
- Subject: Re:Coloring 2DPlot with different colors
- From: "Dr A. Hayes" <hay at leicester.ac.uk>
- Date: Sat, 11 Jun 1994 13:29:06 +0100 (BST)
Jian-hua writes: > Does any one knows how to make on 2DPlot with different colors? For > example, I'd like to use two different color to emphasize decreasing or > increasing of a function or the positive and negative values of a > function. The basic idea is to get at the Line object in the -Graphics- output and change it in the way that you want.. You can see this code by using InputForm. I have left the code pretty rough in the interests of explicitness. You could also colour according to slope. (Plot[Sin[x],{x,0,2Pi}, DisplayFunction->Identity] /.Line[p_] :> Line/@Partition[p,2,1] /.ln:Line[{{x1_,y1_},{x2_,y2_}}] :> {If[y1<=y2, Hue[0],Hue[2/3]],ln} ); Show[%, DisplayFunction->$DisplayFunction] (Plot[Sin[x],{x,0,2Pi}, DisplayFunction->Identity] /.Line[p_] :> Line/@Partition[p,2,1] /.Line[{{x1_,y1_},{x2_,y2_}}]/;y1 y2 <0 :> {Line[{{x1,y1},{x2,0}}], Line[{{x1,0},{x2,y2}}]} /.ln:Line[{{x1_,y1_},{x2_,y2_}}] :> {If[Max[y1,y2] <=0,Hue[0],Hue[2/3]],ln} ); Show[%, DisplayFunction->$DisplayFunction] Allan Hayes, hay at le.ac.uk