Re: Re: PlotStyles
- To: mathgroup at smc.vnet.net
- Subject: [mg30902] Re: [mg30858] Re: [mg30815] PlotStyles
- From: BobHanlon at aol.com
- Date: Sun, 23 Sep 2001 02:16:48 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
In a message dated 2001/9/20 4:36:45 AM, BobHanlon at aol.com writes:
>In a message dated 2001/9/19 12:47:47 AM, mcoleman at bondspace.com writes:
>
>>Is there a way to apply different PlotStyles to a single list of data
>
>>in a List Plot command? For instance, can I specifiy the first
>>half of the data points to be one color, and the remaining half to be
>>another, so that it is easy to visually separate the two subsets of data.
>>
>>I know that this could be done by creating separate graphs and then
>>overlaying them, but I'm curious is this can be done within a single
>
>>Plot or ListPlot command.
>>
>
>You can use a single MultipleListPlot by partitioning the data
>
>Needs["Graphics`Colors`"];
>Needs["Graphics`MultipleListPlot`"];
>Needs["Graphics`Graphics`"];
>
>data = Table[{x, Exp[-Sqrt[x]]*Sin[2x]},
> {x, 0, 3Pi, Pi/16}];
>
>MultipleListPlot[n=0;
> (Take[data, (-1)^n++ * #[(Length[data]+1)/2]])& /@
> {Floor, Ceiling}, PlotJoined->True,
> Frame->True, Axes->False, PlotRange->All,
> FrameTicks->{PiScale, Automatic, None, None},
> SymbolShape->None,
> PlotStyle->{{AbsoluteDashing[{5,5}], Blue}, Red}];
>
This can automatically partition the data into two or more segments
Needs["Graphics`Colors`"];
Needs["Graphics`MultipleListPlot`"];
ListPlotSplit[data_List, m_Integer, opts___] :=
Module[{n = Length[data], p},
p = Table[Floor[n/m], {m}] +
PadLeft[Table[1, {Mod[n,m]}], m];
MultipleListPlot[Take[data, #]& /@ (Rest[
FoldList[({0, #2} + #1[[2]])&, {0,1}, p]] /.
(n+1) :> n), opts,
PlotStyle -> {Red, Blue}]];
data = Table[{x, Exp[-Sqrt[x]]*Sin[2x]},
{x, 0, 4Pi, Pi/16}];
The default will alternate between Red and Blue
ListPlotSplit[data, 4, PlotJoined -> True,
PlotRange -> All, SymbolShape -> None,
ImageSize -> 400, Frame -> True, Axes -> False];
This can be overridden
ListPlotSplit[data, 4, PlotJoined -> True,
PlotRange -> All, SymbolShape -> None,
ImageSize -> 400, Frame -> True, Axes -> False,
PlotStyle -> {DarkGreen, Red, Gold, Blue}];
Bob Hanlon
Chantilly, VA USA