Saving Graphics with the Same Size/Layout

I have more than 5 graphs plotted in my experiment.  I drag one graph window to a size that makes the legend, tick marks, etc. look good for saving the graph as an image to embed into a presentation; I'd like to get all of the other graphs to match.  All of the graphs are basically the same type/format.

Question 1:  Is there an easier way to do this than stacking the windows and manually dragging them to the same size, then making sure all the ticks and legend positions match?  I realize that under Save Graphics there is an option for custom width and height, but that doesn't make the graphs match if the windows don't start at the same size/layout.

Question 2:  Is there a setting I can change that will keep the graph settings/look FIXED when I resize the window?  While the axes, ticks, etc. changing when the window is resized can be good, it is often counterproductive when I'm just trying to prepare a graph to save as an image.

Hi Jason,

Thanks for your questions. For the first one, I think a style macro might give you what you are looking for. Paste the following in the command window to read up on how they work:

DisplayHelpTopic "Graph Style Macros"

For your second question, I believe the Modify Graph dialog will help you out. Right-click on the graph and select Modify Graph (or Graph -> Modify Graph). I might suggest Absolute Width and Height modes and setting the margins to specific values instead of Auto. You can read up on resizing details here:

DisplayHelpTopic "Graph Dimensions"



For question 1 ...

Double click on the margin to the graph to bring up the dialog to set the graph dimensions. Set them to the values you desire. You will see the history print something akin to 

ModifyGraph width=288,height={Aspect,0.75}

Choose each remaining graph to bring it to the front. Re-execute the command to set the frontmost graph to the same settings.

Note that these settings are the dimensions of the inner graph window. The entire graph display may be different from graph to graph especially for example when your ordinate tick labels are different widths from one graph to the other. Tweaking will involve using the margin settings as well as the width and height values.

Also, I cannot seem to get to it now, so try searching for Spectra Trace Offset ... tools package. It offers many options to tweak the graph using a UI control panel input.

Your issues are exactly why I wrote the Graph Tools package. You can find this here (the website seems to have issues with displaying project pages at the moment, so try again later):

One part of this add-on is a panel which lets you modify graph sizes, which includes copying the current size or style to another graph in seconds. So your question 1 would be solved by simply pressing two buttons with this tool. Using the tool has also the benefit of not locking the graph dimensions for resizing with the mouse, which would be the case when using fixed dimensions via the Modify Graph dialog.

You question 2 can be solved by locking whatever settings you want to not change when resizing the graph. The font can be locked from above panel or by using the Modify Graph dialog. The axes stay the same if you set the ticks manually in the Modify Axis dialog, i.e., by entering a manual spacing and number of ticks. There is also a button to fill in the current automatic tick settings.

Yes ... @chozo's package is the one I had in mind.

sidebar: For some reason, clicking on the link does not work from Safari macOS. Is this a bug???

@jj: As mentioned, the website seems to be unable to process any project pages at the moment. Seems to be a hiccup at the server side. I guess this will be solved next week, when someone from the official team can have a look. (I just hope these pages are not gone for good. It would take a long time adding all the stuff back in ...)

Same thing on my end with the link.  I'll keep trying it.

I'll also play around with the other suggestions given.

Thanks, all!

I'll attach the latest version here for now. Unfortunately the user manual was also on the website... Here are just the essentials. Let me also know if you don't know how to install such additional procedures.

- After including the procedure, there is a new menu 'Spectra Tools' at the top bar.

- Click on the graph you want to edit and invoke the Graph Size Panel from the menu.

- Clicking on another graph and then the panel again will make this graph the focus of all edits. In other words, the panel will always act on the top graph.

- The controls should be pretty self-explanatory, but you can hover over each control to display a tooltip message if you are not sure.

Graph (38.14 KB)

Thanks!  Does it just need to get copied into the Igor Procedures folder?  Then it shows up under Windows>Procedure Windows?

If you put this into

...\Documents\WaveMetrics\Igor Pro 9 User Files\Igor Procedures

then the package will always be loaded in Igor (which should be fine... I have made sure that the code does not interfere with Igor, but you will always have extra menu entries etc. from the package of course).

If you put this into

...\Documents\WaveMetrics\Igor Pro 9 User Files\User Procedures

you can load the package whenever needed via an #include statement, but it will not be loaded automatically upon start.

I just started messing with it; that is a fantastic tool!  Just being able to Copy/Paste graph sizes is amazing.


Thank you.

Great that this is useful for you. Now the links to projects seem to work again, so have a look at the manual (and maybe my other projects).