How to specific fig handle in function savefig

2 vues (au cours des 30 derniers jours)
Nancy Hammond
Nancy Hammond le 9 Déc 2021
Commenté : Steven Lord le 10 Déc 2021
I first determine figHandles = findobj('Type', 'figure');
from open Matlab figures I saved earlier and get result
>> figHandles
figHandles = 4×1 Figure array:
Figure (3)
Figure (2)
Figure (1)
Figure (4)
I then tried multiple ways to specify handle in savefig, but get errorL
>> savefig('C:\Users\Owner\Documents\Research\TreasuryFunding\FiscalTheory\NetBondSalesNov12.fig', 'figHandles(1)','pdf')
Error using savefig (line 43)
H must be an array of handles to valid figures.
Then I tried but got same error.
savefig('C:\Users\Owner\Documents\Research\TreasuryFunding\FiscalTheory\NetBpndSalesNov12.fig', figHandles(1),'pdf')
Thank you
  1 commentaire
Steven Lord
Steven Lord le 10 Déc 2021
Out of curiosity, was there something (a documentation page, a website, a similar function's behavior, etc.) that led you to believe that savefig would accept 'pdf' as the last input? If there is something and it's under MathWorks control I'd like to correct it to avoid misleading or confusing users in the future.

Connectez-vous pour commenter.

Réponse acceptée

Image Analyst
Image Analyst le 9 Déc 2021
Try exportgraphics() instead.
  4 commentaires
Nancy Hammond
Nancy Hammond le 9 Déc 2021
Here is matlab fig file, the original
Nancy Hammond
Nancy Hammond le 10 Déc 2021
Thanks, Image Analyst. I sent in my proposal with shi*y graphics. The images I inserted into overleaf were horrible, blurred, illegible.
I'll try this and I have used g.WindowState = 'maximized'
I've tried exportgraphics, savefig. I have some new Matlab
plot recommendations.
Also going to eliminate legend and label curves with one or 2 letter text as I have seen colleagues do. And reached out to them to see what they do.
Hopefully I can edit the submission
Thanks for your help.

Connectez-vous pour commenter.

Plus de réponses (1)

Voss
Voss le 9 Déc 2021
The two- and three-input-argument options for calling savefig expect the figure to be the first input argument, so it would be:
savefig(figHandles(1),'C:\Users\Owner\Documents\Research\TreasuryFunding\FiscalTheory\NetBpndSalesNov12.fig')
Note that I removed the third argument 'pdf' because this is not a recognized option, according to the documentation. savefig will save the figure as a .fig file. If you want to save a figure as a .pdf file, you can use print:
print(figHandles(1),'C:\Users\Owner\Documents\Research\TreasuryFunding\FiscalTheory\NetBpndSalesNov12.pdf','pdf')
  3 commentaires
Voss
Voss le 9 Déc 2021
Oops. That last 'pdf' argument should've been '-dpdf'. That is:
print(figHandles(1),'C:\Users\Owner\Documents\Research\TreasuryFunding\FiscalTheory\NetBpndSalesNov12.pdf','-dpdf')
Nancy Hammond
Nancy Hammond le 10 Déc 2021
Thanks, Ill try

Connectez-vous pour commenter.

Catégories

En savoir plus sur Printing and Saving 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!

Translated by