How to specific fig handle in function savefig

조회 수: 5 (최근 30일)
Nancy Hammond
Nancy Hammond 2021년 12월 9일
댓글: Steven Lord 2021년 12월 10일
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
Steven Lord
Steven Lord 2021년 12월 10일
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.

댓글을 달려면 로그인하십시오.

채택된 답변

Image Analyst
Image Analyst 2021년 12월 9일
Try exportgraphics() instead.
  댓글 수: 4
Nancy Hammond
Nancy Hammond 2021년 12월 9일
Here is matlab fig file, the original
Nancy Hammond
Nancy Hammond 2021년 12월 10일
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.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Voss
Voss 2021년 12월 9일
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
Voss
Voss 2021년 12월 9일
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 2021년 12월 10일
Thanks, Ill try

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Printing and Saving에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by