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 have many plots (that take a long time to run) and each is saved to a variable name. For simplicity, say one was:

m = Plot[Sin[x], {x, -1, 1}, ImageSize -> 600]  

If I call for the plot

m  

it will be presented as it should be, with ImageSize 600. I can click and drag the corners to change the size of the plot (instantaneously, so I know mathematica is not re-computing the plot, but simply adjusting the output image size continuously).

Therefore, what I wish to accomplish must be possible to do, but I don't know how to instruct mathematica to do it.

What I want is a command, something similar to, say

m/.ImageSize->200  

etc. that can present m with a new, prescribed size, rather than manually sliding it to a new size, and certainly without having to re-compute the code that produced the saved plot. Help?

share|improve this question
5  
Or just Show[m, ImageSize -> 200] –  Öskå May 19 at 15:28
1  
Steve, @Öskå is the correct answer. While using the rule method works, it depends on the internal structure of Graphics to do so. Using Show does not. Well, in the sense that you no longer have to worry about it. –  rcollyer May 19 at 15:30
    
Awesome, thanks, Show should work for me. –  Steve May 19 at 15:37
    
# /. (ImageSize -> (ImageSize /. Last@#)) -> (ImageSize -> 200) &[m] directly replaces the previously defined size definition in your case, as FullForm will demonstrate you. –  UDB Jun 1 at 21:33

Your Answer

 
discard

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

Browse other questions tagged or ask your own question.