How can I put a string variable into a Figure Title?
Afficher commentaires plus anciens
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 commentaires
Joe_Z
le 14 Mai 2020
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
le 14 Mai 2020
I'd recommend saving them as PNG files with exportgraphics() or saveas() or export_fig().
Réponse acceptée
Plus de réponses (1)
Image Analyst
le 14 Mai 2020
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.
Catégories
En savoir plus sur Printing and Saving dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!