Re: Mathematica 6.0 easier for me ... (small review)
- To: mathgroup at smc.vnet.net
- Subject: [mg76565] Re: [mg76457] Mathematica 6.0 easier for me ... (small review)
- From: Brett Champion <brettc at wolfram.com>
- Date: Thu, 24 May 2007 05:58:34 -0400 (EDT)
- References: <200705230859.EAA23180@smc.vnet.net>
On May 23, 2007, at 3:59 AM , Paul at desinc.com wrote: > > 6. Very few gotchas. I have only found one, though it keeps biting > me. If I have two lists, one from 0-100 in both axis and the other > from 0-1000 in both axis, Show[] will truncate! > > lisA = Table[i^2, {i, 0, 1000}]; > lisB = Table[i, {i, 0, 100}]; > p1 = ListPlot[lisA, Joined -> True]; > p2 = ListPlot[lisB, Joined -> True]; > Show[p1, p2] > Show[p2, p1] > > The first plot parameter to Show[] determines truncation. 5.2 did not > do this!! Of course, change Joined to PlotJoined for 5.2. A small > gotcha, but never the less a gotcha that burned me once already. My > fault. New is not worse, just different. To me, Show[] simply > Showed. Now it is not. PlotRange->All fixes this. I wish there was > a way to default to All for Show[]. In previous versions of Mathematica, ListPlot left PlotRange- >Automatic as PlotRange->Automatic in the generated Graphics[] objects. When multiple such things were combined with Show, the combined graphic still had PlotRange->Automatic, and everything was fine. In Mathematica 6.0, ListPlot and other visualization functions resolve PlotRange->Automatic into explicit ranges like {{0,1000}, {0,10^6}} for a variety of reasons. For example, if we leave it at PlotRange->Automatic, it's possible to find examples where adding Filling->Bottom would be wrong because the points added at the bottom of the polygon are enough to cause a different plot range to be calculated. When multiple such things are combined with Show, the options from the first graphic are used, and so you potentially get a PlotRange that isn't very useful. In your particular example you could of course just use ListPlot[{lisA, lisB}, Joined->True] or the equivalent ListLinePlot[{lisA, lisB}] or use something like Show[{p1, p2}, PlotRange->Automatic] in cases where you can't just use a single List(Line)Plot command. Brett Champion Wolfram Research
- References:
- Mathematica 6.0 easier for me ... (small review)
- From: Paul@desinc.com
- Mathematica 6.0 easier for me ... (small review)