Take the 2-minute tour ×
Mathematica Stack Exchange is a question and answer site for users of Mathematica. It's 100% free, no registration required.

Is there a way to overlay a plot into a blank area of a Manipulate control panel, that will still update according to the controls in the Manipulate function?

This is an image of what I have:

Imgur

You can see on the bottom left that I have a semi-function plot there. I am using the function Overlay[] to do this, but I'm not sure if its the best way. What you see is two nested Manipulates, one with the control panel on the left, and the 2nd with the control panel on the bottom.

Unfortunately, the extra plot doesn't update with any of the sliders. I guess something with Dynamic[] could work, but I don't know how to combine that with Manipulate!

Thanks!

share|improve this question
1  
btw, you do not need overlay to put a plot in the "Manipulate control panel". Any Dynamic[] there will show up. see reference.wolfram.com/mathematica/tutorial/… and search for It is also possible to combine custom controls with other dynamic elements in the controls area but again, it is not too clear to me what are you asking. –  Nasser Jan 20 at 8:01
    
Basically, those 5 blue dotted lines on the right are x-locations of thermocouples. The middle plot is the temperature distribution over x (distance). However, the plot on the bottom left is temperature vs. time, so it will basically be 5 horizontal lines at each of the 5 temperatures. As the middle plot changes when the sliders are adjusted, that bottom left plot should change as well. I'll look into the Dynamic[] documentation and see if I can get it to work. Thanks! –  madacho Jan 20 at 16:28
    
@madacho does my answer fit your needs? –  Kuba Mar 21 at 11:33
    
@Kuba Yes! Sorry for not responding earlier, I got it to work with your help. Thank you! –  madacho Mar 22 at 19:04
1  
@madacho No problem :) If it's not a problem please upvote or accept the anser so it can leave "unanswered" stack. Good luck :) –  Kuba Mar 22 at 19:06

1 Answer 1

up vote 1 down vote accepted

I feel it is a duplicate but I can't find it.

This is the way to go, just use Column and Control on Manipulate arguments that are referring to particular variables:

Manipulate[
 Column[ {Plot[Tan[a x], {x, 0, 1}], Plot[Cot[a x], {x, 0, 1}]} ]
 ,
 Column[{ Control[{a, 0, 1}],
          Dynamic@Plot[Cos[ x/(a + 1)], {x, 0, 1}]
        }, Center, Spacings -> 5]
 , ControlPlacement -> Left
 ]

enter image description here

Notice that by default only first argument is wrapped in Dynamic so I had to add Dynamic for the Plot placed in "controls area". TrackedSymbols :> {a} should be used for more complicated applications to avoid unecessary calculations.

At the end I'd suggest to use DynamicModule to have full control on what's happening and where things are.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.