MathGroup Archive 2010

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

Search the Archive

Re: Putting controls next to graphics in the Manipulate Display area

  • To: mathgroup at smc.vnet.net
  • Subject: [mg108351] Re: Putting controls next to graphics in the Manipulate Display area
  • From: "David Park" <djmpark at comcast.net>
  • Date: Sun, 14 Mar 2010 05:16:45 -0500 (EST)

Why use Manipulate? It's baroque! 

It is so much easier to do a custom dynamic and lay things out just the way
you want.

Module[
 {xrange = 1, yrange = 1},
 Grid[
  {{VerticalSlider[Dynamic[yrange], {0.1, 10}, 
     ImageSize -> {20, 300/GoldenRatio}],
    Dynamic@Plot[x, {x, 0, 10},
      PlotRange -> {{0, xrange}, {0, yrange}},
      ImagePadding -> {{20, 5}, {20, 5}},
      ImageSize -> 300]},
   {" ", Slider[Dynamic[xrange], {0.1, 10}, ImageSize -> {300, 20}]}}]
 ] 

You could also use a Rows and Columns construction.

David Park
djmpark at comcast.net
http://home.comcast.net/~djmpark/  


From: Nasser M. Abbasi [mailto:nma at 12000.org] 

Just a little bit of rambling on Manipulate:

Currently when writing a Manipulate, the control variables (slides, buttons,

etc...) go into one "area" on the Manipulate output "call it the control 
variables area", and all the plots and graphics go into another "area" (call

it the output area).

Sometimes, it would be better to position a specific control next to the 
plot itself that this control has a relation to. It makes the UI easier to 
work with for the user to work with.

A simple example, suppose I want to have a 2 slides, one to adjust the 
x-scale and the other to adjust the y-scale on a plot.

I'd like to be to locate the x-scale slider horizontally right there, below 
the x-axis of the plot, and the y-slider vertically aligned next to the 
y-axis of the plot, instead as the case now, where the 2 slides will go to 
the "control area", and the plot goes to the Manipulate "output area".

The above is not an issue if one has one output (one plot or one graphic 
object) as the output of the Manipulate, but if there are 3 or 4 plots, and 
then I want to have some controls for one plot and another controls for 
another plot, then I'd like to be able to position the controls close to the

plot itself that they affect.

One way to do something close to what I want is shown in the advanced 
manipulate documentation, where it talks about
Lissajous figure, and placing dynamics plots on the control area itself. 
This way I can have more control of having the control close to the plot. 
But the plots are now located on the control area and not in the display 
area.

But I feel there should be a more general approach to this whole issue? May 
be future versions of Manipulate would have something to help with this? May

be a GridManipulate[] function?

--Nasser 






  • Prev by Date: Re: Putting controls next to graphics in the Manipulate
  • Next by Date: Re: plotting many curves {best times}
  • Previous by thread: Re: Putting controls next to graphics in the Manipulate Display area
  • Next by thread: Re: Re: Putting controls next to graphics in the