Re: ListPlot - assigning a list of colors to a set of points
- To: mathgroup at smc.vnet.net
- Subject: [mg131960] Re: ListPlot - assigning a list of colors to a set of points
- From: Joe Gwinn <joegwinn at comcast.net>
- Date: Wed, 6 Nov 2013 00:37:04 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: l-mathgroup@wolfram.com
- Delivered-to: mathgroup-outx@smc.vnet.net
- Delivered-to: mathgroup-newsendx@smc.vnet.net
- References: <l59r3a$rcm$1@smc.vnet.net>
In article <l59r3a$rcm$1 at smc.vnet.net>, Gordon Robertson <grobertson at bcgsc.ca> wrote: > I'm using Mathematica v9.x on a Mac, with OS X 10.7.5. > > Could I ask about something that likely has a very simple solution? I have a > list of XY coordinates for say 500 points that will become a scatterplot via > ListPlot. I need to assign a colour to each point, using a list of labels > (histology, risk, =85). > > I've generated ArrayPlot graphics for cases like this for some time. For > example, given some labels in column 4 of a 'hist' table: > colours = Table[{ > Switch[name = hist[[i, 4]], > "Classical", Green, "Tall cell", Red, "Other", Blue] > }, {i, Length[hist]}]; > ArrayPlot[{colours}, AspectRatio -> 0.1, Frame -> False] > > For a ListPlot, I'd have thought that something as simple as dropping a list > of colours into a PlotStyle Directive would do the job. But the following > line plots three blue points, rather than a Red, Green and Blue point. > ListPlot[{{1, 1}, {2, 2}, {3, 3}}, > PlotStyle -> Directive[PointSize[0.02], {Red, Green, Blue}]] > > Is there a simple way to declare a list of colours in ListPlot? I've looked > through the PlotStyle documentation, and apologize if I've missed seeing how > to do this. I never did figure out how to do that with ListPlot, and Tech Support didn't know of a way either, so I built the plot-list directly, as a Graphics[] object, and then used Show[] to display it, and to overlay the colored dots on various function lines from ListPlot. Joe Gwinn