Legend position change after printing
12 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I draw a bar figure and set the legend using
leg = legend('w/s QOS','w/o QOS','Location','best');
And then I try to save the figure using print
fig2.PaperPositionMode = 'manual';
fig2.PaperUnits = 'points';
fig2.PaperPosition = ([0 0 1920 1080]);
print('./figure/delay_avg','-djpeg');
The following figure is what I have in Matlab window
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/149656/image.jpeg)
and the figure below is the figure saved in the file
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/149658/image.jpeg)
As you can see, the position of the legend changes. Is this a bug of Matlab? I'm using R2015a
0 commentaires
Réponses (6)
Brian Pierre
le 14 Juin 2016
I have the same issue in 2014b. A big problem for a large automated report with thousands of figures.
0 commentaires
Abhinav Gupta
le 21 Mai 2022
Modifié(e) : Abhinav Gupta
le 21 Mai 2022
This problem still exists in the R2021b. It would be great if this could be fixed!
0 commentaires
Eric Delaunay
le 19 Jan 2023
Found a workaround :
l = findobj(gcf, 'type', 'legend');
set(l, 'Location', 'none');
before printing. It disables auto layout for legend and uses its current 'position' for printing. It works for me in R2017b.
1 commentaire
Rohit Kudva
le 22 Oct 2015
Hi Junyi,
I work for MathWorks and I have forwarded this feedback to the appropriate product team.
Regards,
Rohit
1 commentaire
Thorsten
le 15 Juin 2016
Use
set(gcf,'PaperPositionMode','auto');
before printing. It works for me (R1015b).
0 commentaires
Mark Kerssenfischer
le 2 Déc 2022
Indeed, I just ran into the same issue in Matlab R2021b.
Please fix it!
0 commentaires
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!