Re: Colored ListPlot
- To: mathgroup at smc.vnet.net
 - Subject: [mg9041] Re: Colored ListPlot
 - From: tburton at cts.com (Tom Burton)
 - Date: Thu, 9 Oct 1997 01:42:20 -0400
 - Organization: Brahea Consulting
 - Sender: owner-wri-mathgroup at wolfram.com
 
On 7 Oct 1997 03:14:01 -0400, in comp.soft-sys.math.mathematica you
wrote:
If it is possible I would like to ListPlot["list"], where list of points
in the plane, but with the following quality. 
The points will be joined (easily done with PlotJoined-> True), and they
should have a color function assigned to them so that the color of each
joining line is determined in some way by the points on the ends.
------------
First, you can do this easily (perhaps not so easily at first) without
ListPlot:
In[10]:= data = Table[{i,Sin[i]},{i,0,10,.1}];
In[11]:= Show[Graphics[
    Partition[data,2,1]
    /.{p1_,p2_}:>{Hue[0.25(2+Last[p1+p2])],Line[{p1,p2}]},
    Axes->True]]
Explanations of In[11]:
Line [11]/2:  Partition the data into overlapping pairs of points
{{p1,p2},{p2,p3},...}, where p1=={x1,y1}, etc.
Line [11]/3:  Rewrite each pair {p1,p2} as
{Hue[0.25(2+Last[p1+p2])],Line[{p1,p2}]}. This keys the color of each
line segment to the midpoint y-value of the segment. The Hue function
expects a real argument in the range [0,1] and will Mod its argument
back onto this domain if needed.
Line [11]/4: Turn on axes and axis labels.
If ListPlot does something for you that Graphics does not, then You can
also superimpose this plot on a ListPlot using Show as explained in the
Mathematica Book.
Hope this helps.
Tom Burton