Re: Re: ListPlot with missing values
- To: mathgroup at smc.vnet.net
- Subject: [mg22485] Re: [mg22419] Re: ListPlot with missing values
- From: BobHanlon at aol.com
- Date: Sat, 4 Mar 2000 02:26:51 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
alist = {{1, 1}, {2, 3}, {3, 5}, {4,}, {5, 6}, {6, 8}, {7,}, {8, 10}, {9,
12}};
plt = ListPlot[Cases[alist, {_?NumericQ, _?NumericQ}], PlotJoined -> True,
DisplayFunction ->
Identity] //. (Line[{s___, x_, y_, e___}] /;
y[[1]] > x[[1]] + 1) :> {Line[{s, x}], Line[{y, e}]};
Show[plt, DisplayFunction -> $DisplayFunction,
PlotRange -> {{0, 9}, {0, 12}}];
Bob Hanlon
In a message dated 3/1/2000 2:30:16 AM, rmendels at pfeg.noaa.gov writes:
>First, thanks to all who answered. I clearly didn't explain the problem
>carefully enough. Assume we are plotting a time series with missing
>data, and only want to conect consecutive points that have data, have
>blanks whenever a time point is missing, and still want points lined up
>correctly in time on the x axis. If I just delete cases, then the
>endpoints of any missing segment will be connected, rather than being
>blank.
>
>In the example
>
>alist = {{1, 1}, {2, 3}, {3,5},{4,}, {5, 6}, {6,8},{7,}, {8,10},{9, 12}}
>
>I want a line joing the first three points, then a blank, then a line
>connecting the next two points, then a blank etc.
>
>The reason I mentioned the number of datapoints is because one solution
>is to draw a graph for each uninterrupted segment of the time series,
>and then overlay them. This seems inelegant,because several hundred
>separate graphs might have to be drawn.
>
>If anyone else has other suggestions I would welcome them.
>