Re: Vary PlotStyle in ListPlot ?

*To*: mathgroup at smc.vnet.net*Subject*: [mg90071] Re: Vary PlotStyle in ListPlot ?*From*: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>*Date*: Fri, 27 Jun 2008 06:21:34 -0400 (EDT)*Organization*: The Open University, Milton Keynes, UK*References*: <g3vkp3$kca$1@smc.vnet.net>

Coleman, Mark wrote: > I'm producing ListPlots with a large number (>100000) pairs of points. > Is there a way to vary the PlotStyle in a single ListPlot command, so > that sets of points in a certain region are a different color or Opacity > than points outside the region? This is simple using Show and individual > ListPlots, but I'm wondering if it can be done within a single ListPlot > command. Mark, one can pass a list of directives to PlotStyle and a list of lists for the points to be plotted, each list taking into account the corresponding graphic directives. For instance, data = Table[{k, Sin[k] + RandomReal[{-1, 1}]}, {k, 0, 2 Pi, 2 Pi/1000}]; myRegion1 = Cases[data, {x_ /; 1 < x < 3, y_ /; 1/2 < y < 3/2}]; myRegion2 = Cases[data, {x_, y_ /; y < -1}]; pts = { Complement[data, myRegion1, myRegion2], myRegion1, myRegion2}; ListPlot[pts, PlotStyle -> {Directive[Red, PointSize[Medium]], Directive[Darker[Green], PointSize[Large]], Directive[Orange, PointSize[Small]]}] Regards, -- Jean-Marc