Best way to get constant plot sizes with varying width Yticklabels?
9 views (last 30 days)
- Matlab 2021a
- Windows 10 64-bit
I am using the awesome exportgraphics command after programmatically fixing the size of the plot window to save the figures as vector PDFs. I then use these PDFs as figures in a LaTeX document with identical scaling parameters.
My issue is that width of the yticklabels scales the innerposition of the plot so that importing a figure with only two digit widths on the yticklablels next to one with three digits results in different sized plots. This effect is much worse if one of them contains a negative sign.
In other words, the entire bounding box (I believe is called the outerposition) of the figure is fixed size. But because the width of the yticklabels changes, the actual plot window scales to fit.
I have not tried it yet, but I believe that changing the fixed size of the plot window (innerposition) results in PDFs of different sizes, which will have the same result once it is added to the Latex document. I do not want to have custom scaling for each figure.
Rishik Ramena on 24 May 2021
The plot sizes rendered by the exportgraphics function for vectors will be the same, but the dimensions of the pdf file will depend on your x and y labels and values. You can consider setting the labels and tick sizes in the plots but even that would not guarantee a consistent pdf size. I would suggest you to try the export_fig function. Try the -nocrop option, it might serve your purpose. Here's a link to the github page with usages and examples.