How can I put a string variable into a Figure Title?
133 次查看(过去 30 天)
显示 更早的评论
FILE_NAME = '1.A.A';
figure('Name', 'Figure 1')
plot(X, Y, 'LineWidth', 1)
title('FILE %s: X vs Y (dB Mag)', FILE_NAME)
savefig('FILE %s: X vs Y.fig', FILE_NAME)
I have a large number of figures I'm plotting, so
I want to designate the variable FILE_NAME, and save the figures in my Current Folder.
- Currently, I'm getting an error, "Incorrect number of input arguments"
2 个评论
Joe_Z
2020-5-14
I think you forgot the sprintf() within the title() function. title() only takes a single text input argument (or Name:Value Pairs) which is why it is throwing that error. Try:
figure('Name', 'Figure 1')
plot(X, Y, 'LineWidth', 1)
title(sprintf('FILE %s: X vs Y (dB Mag)', FILE_NAME))
savefig(sprintf('FILE %s: X vs Y.fig', FILE_NAME))
Image Analyst
2020-5-14
I'd recommend saving them as PNG files with exportgraphics() or saveas() or export_fig().
采纳的回答
Star Strider
2020-5-14
You’re almost there!
title(sprintf('FILE %s: X vs Y (dB Mag)', FILE_NAME))
and:
savefig(sprintf('FILE %s: X vs Y.fig', FILE_NAME))
I tested the title call. Since I don’t want to write the file to my computer, I didn’t test the savefig call. It should work. (It would likely help to include the figure handle as the first argument in the savefig call, just to be certain it’s doing what you want it to, although that’s snot required.)
.
4 个评论
更多回答(1 个)
Image Analyst
2020-5-14
Try
FILE_NAME = '1.A.A';
hFig = figure; % Bring up a new figure, or hFig = gcf to get an existing figure handle.
hFig.Name = sprintf('%s', FILE_NAME); % or hFig.Name = 'Figure 1' or whatever
hFig.NumberTitle = 'off'; % No "Figure 1" in the title bar.
hFig.WindowState = 'maximized' % Maximize the figure window.
% Plot something...
plot(X, Y, 'LineWidth', 1)
caption = sprintf('FILE %s: X vs Y (dB Mag)', FILE_NAME);
title(caption, 'FontSize', 20);
% Prepare PNG filename:
baseFileName = sprintf('%s.png', FILE_NAME); % Tack on png extension so oeprating system will recognize it.
% folder can be pwd or wherever you want it to go.
folder = pwd; % current folder, or use 'D:\my images\' or wherever...
fullFileName = fullfile(folder, baseFileName);
% Save image to disk:
saveas(hFig, fullFileName); % Save to disk as a PNG format image.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Printing and Saving 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!