Re: No Show
- To: mathgroup at smc.vnet.net
- Subject: [mg89167] Re: No Show
- From: Narasimham <mathma18 at hotmail.com>
- Date: Wed, 28 May 2008 04:43:39 -0400 (EDT)
- References: <g1bf08$mcv$1@smc.vnet.net> <g1di00$9np$1@smc.vnet.net>
On May 25, 10:31 pm, Helen Read <h... at together.net> wrote: > Narasimham wrote: > > Why is the following plot, bot, (with - Sqrt) not Shown along with > > top? > > > Why is it treated only as a plot skeleton, so no combining is > > possible? > > > bot = Plot3D[-Sqrt[1 - (x^2 + y^2) ] , {x, -1, 1}, {y, -1, 1}] > > top = Plot3D[+Sqrt[1 - (x^2 + y^2) ] , {x, -1, 1}, {y, -1, 1}] > > Show[top, bot] > > Oh, you are going to get a lot of replies to this. It was discussed at > length when v.6 was first released. Basically, as of v.6, the default > behavior of Show is to get the PlotRange from the first plot listed. See > what happens if you reverse it. > > Show[bot, top] > > The way to get something more like you are expecting is to set > PlotRange->Automatic within Show. > > bot = Plot3D[-Sqrt[1 - (x^2 + y^2)], {x, -1, 1}, {y, -1, 1}]; > top = Plot3D[+Sqrt[1 - (x^2 + y^2)], {x, -1, 1}, {y, -1, 1}]; > Show[top, bot, PlotRange -> Automatic] > > You might also want to set the BoxRatios. > > bot = Plot3D[-Sqrt[1 - (x^2 + y^2)], {x, -1, 1}, {y, -1, 1}]; > top = Plot3D[+Sqrt[1 - (x^2 + y^2)], {x, -1, 1}, {y, -1, 1}]; > Show[top, bot, PlotRange -> Automatic, BoxRatios -> {1, 1, 1}] > > I greatly dislike this new behavior of Show, for what it's worth. The > folks at WRI argue that because of all the new graphics options (e.g., > Filling), it would not make sense to combine the PlotRange automatically > (as Show did in previous versions of Mathematica). Personally, I find it > to be a pain in the neck to have to ask for PlotRange->Automatic > virtually every time I use Show, and my students often forget and get > burned by it. I would much prefer PlotRange->Automatic to be the default > in Show, and to set my own PlotRange manually on those infrequent > occasions when I need something else. And as for the argument that > setting a PlotRange automatically from the combined plots isn't always > appropriate, why not provide an easy way to tell Show to use the > PlotRange from a particular plot? Something like PlotRange->{1} to get > the PlotRange from the first plot, PlotRange->{2} to get the range from > the 2nd plot, etc., would do the job when needed, and still allow > PlotRange->Automatic (which for me is almost always what I want) to be > the default. > > I just now discovered, BTW, that > > SetOptions[Show, PlotRange -> Automatic] > > does not even work. It generates an error message claiming that > "PlotRange is not a known option for Show". > > -- > Helen Read > University of Vermont Plot command should be "stand alone", should not depend on Plot History.Pity if captured data is discarded due to command history. Plot3D should be a stand alone instruction.Once a user is conditioned / accustomed/pampered in a certain way the previlige should perhaps not be withdrawn without sufficient reason.That is a suggestion anyway... Thanks for all these responses. Narasimham