[Date Index]
[Thread Index]
[Author Index]
Re: fill in harberger triangle
*To*: mathgroup at smc.vnet.net
*Subject*: [mg115687] Re: fill in harberger triangle
*From*: DrMajorBob <btreat1 at austin.rr.com>
*Date*: Tue, 18 Jan 2011 05:51:15 -0500 (EST)
Agreed, Helen.
It seems obvious that "PlotRange->Automatic" should BE automatic, since if
not, why call it Automatic?
Bobby
On Mon, 17 Jan 2011 04:36:35 -0600, Helen Read <readhpr at gmail.com> wrote:
> On 1/16/2011 5:52 AM, DrMajorBob wrote:
>> I don't like the logic or paradigm of Epilog, so I'd do it this way:
>>
>> a = 10.2;
>> e = 1.4;
>> q[p_] = 10.2 p^1.4;
>> lowerBound = p /. Solve[q[p] == 100, p][[1]] // Quiet;
>> Show[Plot[q[p], {p, 0, 30}, PlotRange -> {0, Automatic}],
>> Plot[q[p], {p, lowerBound, 20}, Filling -> 100],
>> Graphics[{Line[{{0, 100}, {30, 100}}], Line[{{20, 0}, {20, 1200}}]}]]
>>
>> A "complete" graphics object covering the full range of x and y values
>> must go first, or things go very wrong.
>
> I greatly dislike this behavior of Show that was introduced in, I think,
> v.6. Prior to that, Show came up with a reasonable PlotRange no matter
> what order the individual graphics. But now, by default it takes the
> PlotRange from the first graphic listed. I remember much discussion of
> this when v.6 came out, with some folks from WRI explaining why the new
> behavior is supposedly a Good Thing. Something about wanting the
> PlotRange from the first object because of options like Filling->Axis.
> Well, that's pretty much never the behavior that I would want, and if
> for some reason I did want the PlotRange from the first object listed, I
> would specify a PlotRange explicitly within Show.
>
> Show[{ , }, PlotRange->Automatic] will nearly always produce what I do
> want. Unfortunately, setting SetOptions[Show, PlotRange -> Automatic]
> doesn't even work, because "PlotRange is not a known option for Show" !
> It is a nuisance to have to stick PlotRange->Automatic in there every
> time I use Show. My students get burned on this all the time when using
> Show, because they don't use Show that often (usually they just plot
> things all in one plot to begin with), and so they forget about the need
> for PlotRange->Automatic. So they end up with these awful plots, things
> all cut off, and they don't understand why, and can never remember how
> to fix it.
>
> It has seemed to me all along that PlotRange->Automatic ought to be the
> default behavior of Show. There could always be an option for using the
> PlotRange and other options from the first graphic opject.
> Show[{,},Options->First] or something.
>
>
>> This shows nothing but the filled area:
>>
>> a = 10.2;
>> e = 1.4;
>> q[p_] = 10.2 p^1.4;
>> lowerBound = p /. Solve[q[p] == 100, p][[1]] // Quiet;
>> Show[Plot[q[p], {p, lowerBound, 20}, Filling -> 100],
>> Plot[q[p], {p, 0, 30}, PlotRange -> {0, Automatic}],
>> Graphics[{Line[{{0, 100}, {30, 100}}], Line[{{20, 0}, {20, 1200}}]}]]
>
> You can fix it with:
>
> Show[Plot[q[p], {p, lowerBound, 20}, Filling -> 100],
> Plot[q[p], {p, 0, 30}, PlotRange -> {0, Automatic}],
> Graphics[{Line[{{0, 100}, {30, 100}}], Line[{{20, 0}, {20, 1200}}]}],
> PlotRange -> Automatic, AxesOrigin -> {0, 0}]
>
>
>>
>> And this shows nothing but the lines, with a ridiculous aspect ratio:
>> a = 10.2;
>> e = 1.4;
>> q[p_] = 10.2 p^1.4;
>> lowerBound = p /. Solve[q[p] == 100, p][[1]] // Quiet;
>> Show[Graphics[{Line[{{0, 100}, {30, 100}}],
>> Line[{{20, 0}, {20, 1200}}]}],
>> Plot[q[p], {p, 0, 30}, PlotRange -> {0, Automatic}],
>> Plot[q[p], {p, lowerBound, 20}, Filling -> 100]]
>
> That one takes a bit more work to fix, because it's getting other
> unwanted options from the first graphic besides the range.
>
> Show[Graphics[{Line[{{0, 100}, {30, 100}}],
> Line[{{20, 0}, {20, 1200}}]}],
> Plot[q[p], {p, 0, 30}, PlotRange -> {0, Automatic}],
> Plot[q[p], {p, lowerBound, 20}, Filling -> 100],
> AspectRatio -> 1/GoldenRatio, PlotRange -> Automatic,
> AxesOrigin -> {0, 0}, Axes -> True]
>
>
>> Stupid, I know... but that's the way it is.
>
> It's annoying for sure, and I really can't disagree with stupid.
>
--
DrMajorBob at yahoo.com
Prev by Date:
**CUDADot bug?**
Next by Date:
**Re: question about CUDA**
Previous by thread:
**Re: fill in harberger triangle**
Next by thread:
**Re: fill in harberger triangle**
| |