Re: Re: plot discrete spectrum
- To: mathgroup at smc.vnet.net
- Subject: [mg23401] Re: [mg23385] Re: [mg23266] plot discrete spectrum
- From: BobHanlon at AOL.com
- Date: Sat, 6 May 2000 02:26:44 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
In a message dated 5/5/2000 2:20:17 AM, bernd at bio.vu.nl writes:
>I just noted the answer by Bob Hanlon.
>
>>>plt = (ListPlot[data, PlotStyle -> RGBColor[0, 0, 1],
>>> DisplayFunction -> Identity, PlotRange -> All] /.
>>> Point[{x_, y_}] :> Line[{{x, y}, {x, 0}}]);
>
>How can i extend this to plot a stepwise function? X are the datapoints.
>This means i have to plot to the next point, keeping the y value of the
>old.
>How can i extract two data points from the plot to make
>
>Point[{x1,y1}] Point[{x2,y2}] -> Line[{x1,y1},{x2,y1}] ?
>
Initial data:
data1 = Sort[Table[{x = 4Pi(Random[] - .5), Sin[x]/x}, {15}]];
plt1 = ListPlot[data1, PlotStyle -> RGBColor[1, 0, 0],
PlotRange -> All, PlotJoined -> True, DisplayFunction -> Identity] ;
Clear[x]
Fill in data points for stepwise function:
data2 = ((data1 //. {start___, {x1_?NumericQ, y1_?NumericQ}, {x2_?NumericQ,
y2_?NumericQ},
end___} :> {start, {x1, y1}, {Unique[x], y1}, {x2, y2},
end}) //. {start___, {x1_Symbol,
y1_?NumericQ}, {x2_?NumericQ, y2_?NumericQ},
end___} :> {start, {x2, y1}, {x2, y2}, end});
plt2 = ListPlot[data2, PlotStyle -> RGBColor[0, 0, 1],
PlotRange -> All, PlotJoined -> True, DisplayFunction -> Identity] ;
Show[{plt1, plt2}, DisplayFunction -> $DisplayFunction];
Bob
BobHanlon at aol.com