- Set property- https://www.mathworks.com/help/matlab/ref/set.html?searchHighlight=set&s_tid=srchtitle_set_1#mw_b034a773-89fc-43a4-b937-9787642e0d6b
- PaperPositionMode figure property - https://www.mathworks.com/help/matlab/ref/matlab.ui.figure-properties.html?searchHighlight=paperpositionmode&s_tid=srchtitle_paperpositionmode_3
Legend position changed after saving a picture
21 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Dear All,
I have generated picture like this with legend nicely placed in the 'best' location.
However, when I save it using :
saveas(gcf, savePath);
the legend automagically changed its location.
Why is that and how to overcome that behavior?
0 commentaires
Réponses (1)
Sugandhi
le 19 Mar 2023
Hi Micholeodon,
I understand that after saving picture, legend is shifting from its position that is shown on display.
set(h,Name,Value) sets properties for the specified graphics object h using one or more name-value arguments. where Name is the property name and Value is the corresponding value.Each type of object supports a different set of properties. For example, Figure Properties, Axes Properties, Line Properties and Text Properties.
PaperPositionMode is one of the figure properties, using which one can handle displayed figure size when printing or saving. It has two modes ‘auto’ and ‘manual’.
'auto' - Printed or saved figure size matches the displayed figure size. The width and height values of the PaperPosition property equal the figure size on the display.
'manual' - Printed or saved figure size might not match the displayed figure size. Use this option if you want to print or save the figure using a size that differs from the display, or if you do not want the figure centered on the printed or saved page.
One of the possible workarounds could be by using this set method for setting PaperPositionMode.
For more understanding kindly go through the following links –
3 commentaires
Sugandhi
le 19 Mar 2023
Hi,
I have reproduced your code at my end, after setting PaperPositionMode as 'auto', my display figure and saved picture are:
Display picture:
Saved picture:
As you can see legend is positioned same in both. And to use manual PaperPositionMode, you have to set PaperPosition property manually.
Voir également
Catégories
En savoir plus sur Legend dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!