MathGroup Archive 2009

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: SetOptions[Plot,.Z..] vs using Plot[,.Z..] behaves

  • To: mathgroup at smc.vnet.net
  • Subject: [mg105526] Re: [mg105507] SetOptions[Plot,.Z..] vs using Plot[,.Z..] behaves
  • From: Bob Hanlon <hanlonr at cox.net>
  • Date: Sun, 6 Dec 2009 01:33:03 -0500 (EST)
  • Reply-to: hanlonr at cox.net

SetOptions[Plot,
  PlotRange -> {Full, Automatic}];

Manipulate[Plot[Cos[x], {x, -Pi, Pi},
  PlotRange ->
   {{-Pi, Pi}, {-maxy, maxy}}],
 {{maxy, 1.1}, 0.1, 4,
  ControlType -> VerticalSlider,
  ControlPlacement -> Left,
  Appearance -> "Labeled"},
 Paneled -> False]

Manipulate[
 SetOptions[Plot, PlotRange ->
   {{-Pi, Pi}, {-maxy, maxy}}];
 Plot[Cos[x], {x, -Pi, Pi}],
 {{maxy, 1.1}, 0.1, 4,
  ControlType -> VerticalSlider,
  ControlPlacement -> Left,
  Appearance -> "Labeled"},
 Paneled -> False]

SetOptions[Plot,
  PlotRange -> {Full, Automatic}];


Bob Hanlon

---- "Nasser M. Abbasi" <nma at 12000.org> wrote: 

=============
ver 7

I think this is an expected behavior which can be explained by some expert, 
but I found it really strange.

The following 2 pieces of code _look_ that they should be equivalent, but 
one work as expected, and the other do not work as one might expect it to

------- code 1 -----------------
ver = VerticalSlider[Dynamic[maxy], {0.1, 4}, Appearance -> "LeftArrow"];
SetOptions[Plot, PlotRange -> {{-Pi, Pi}, {-maxy, maxy}}];
p = Dynamic[Plot[Cos[x], {x, -Pi, Pi}]];
Row[{ver, p}]


---- code 2, works as expected ----------------
ver = VerticalSlider[Dynamic[maxy], {0.1, 4}, Appearance -> "LeftArrow"];
p = Dynamic[Plot[Cos[x], {x, -Pi, Pi}, PlotRange -> {{-Pi, Pi}, {-maxy, 
maxy}}]];
Row[{ver, p}]


I simply moved the PlotRange options and set it as a default option using 
SetOptions.

btw, writing Dynamic at SetOptions[...] did not help. Also doing Dynamics@maxy 
did not help.

My thinking of why this is so, is that SetOptions is processed by the 
kernel, not the front end, and so the fact that maxy is Dynamic is lost as 
the kernel do not know about Dynamcis only the front end. or something along 
these line?

Is there a way to make SetOptions work with Dynamics as if the options were 
part of the Plot command itself?

--Nasser




  • Prev by Date: Re: How to combine Dynamic graphics in Show?
  • Next by Date: Re: How to combine Dynamic graphics in Show?
  • Previous by thread: Re: variable number of controls in manipulate
  • Next by thread: Re: SetOptions[Plot, .Z..] vs using Plot[, .Z..] behaves differently when Z is Dynamics