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.

I wanted to know how can I crop a Manipulator from a plot. the code for plot is

   a=  With[{z1 = .25, z2 = 1, x = 1}, 
   Manipulate[
  PopupWindow[
Graphics[
 DiscretePlot[Sin[a t], {t, 0, 2 Pi, Pi/6}, ExtentSize -> Full, 
  ImageSize -> Scaled[x], AspectRatio -> z1/z2]], {a}], 
OpenerView[{"Vertical", Control[{{a, 1, "Manipulator"}, 1, 30}]}], 
ControlPlacement -> Bottom]]    

I have tried using Export and Import functions and it is working fine

 ImageCrop[Import[Export["test.gif", a, "Graphics"]], 90]

But, I wanted to know some other way to do this as I think Export and Import takes a lot of time in execution.

share|improve this question
1  
I'm not exactly sure how the manipulator relates to the gif in your question, but if you add PlotRange -> {{0, 6}, {-1, 1}} to the Graphics[], it will prevent it from re-sizing the axes during the manipulation. –  jVincent Jun 19 '12 at 9:07
    
As much as I know ImageCrop works just with images, not with plots. If I understand you correctly, you want to have your plot again, but without the "manipulating background". Then you could produce your plot for your chosen manipulator value again – so you get rid of the import and export. If you want to crop this plot, then you should take a look here. –  partial81 Jun 19 '12 at 10:35

2 Answers 2

You could assign the Graphics part to a variable:

With[{z1 = .25, z2 = 1, x = 1},     
  Manipulate[   
     PopupWindow[ 
        graphOut = Graphics[DiscretePlot[Sin[a t], {t, 0, 2 Pi, Pi/6}, 
                            ExtentSize -> Full, ImageSize -> Scaled[x], 
                            AspectRatio -> z1/z2]
                   ], 
       {a}
     ],  
     OpenerView[{"Vertical", Control[{{a, 1, "Manipulator"}, 1, 30}]}],   
     ControlPlacement -> Bottom
  ]
]

You can now use graphOut to produce the plot anywhere you like.

share|improve this answer
    
Thanks, it worked. –  Jennifer Jun 19 '12 at 11:25

In the top right corner of the Manipulate there is a button marked +. If you press this a popup menu appears. One of the options is "Paste SnapShot" which will paste a snapshot of the current setting in the form of a DynamicModule. Running this code will produce the image without the controllers and the panel.

Mathematica graphics

share|improve this answer
    
Thanks for the help.... –  Jennifer Jun 19 '12 at 13:29

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.