plotting multiple figures with auto naming

7 次查看(过去 30 天)
I have a folder with multiple txt files that I want to print into separate figures. How can I load, plot, and print each figure with the same file name without naming them manually each time?

采纳的回答

Image Analyst
Image Analyst 2022-12-25
Is this what you want to do?
% Get a list of all txt files in the current folder.
fileList = dir('*.txt')
numFiles = numel(fileList)
% Create a figure for each file.
for k = 1 : numFiles
% Build the string you want to display in the titlebar of the figure.
thisFileName = sprintf('File #%d of %d = %s', k, numFiles, fileList(k).name)
% Create a figure and make the title bar have that string.
hFig(k) = figure('Name', thisFileName, 'NumberTitle','off');
% Now do stuff with thisFileName, like plot it or whatever
end
  4 个评论
Mohammed Alhamdan
Mohammed Alhamdan 2022-12-27
编辑:Mohammed Alhamdan 2022-12-27
Thank you this helped. I used it to write the following and it worked
clc;
close all;
clear;
workspace;
format long g;
format compact;
fontSize = 20;
fileList = dir('*0001.txt')
numFiles = numel(fileList)
for k = 1 : numFiles
FileName = sprintf('%s', fileList(k).name)
A = load(FileName);
figure;
title(FileName);
xlabel('Time delay (ps)')
ylabel('delta T/ T (arb .unit)')
hold on
plot (A(:,1),A(:,2), 'LineWidth',1, 'Color', [0 0.4470 0.7410])
plot (A(:,1),A(:,3), 'LineWidth',1, 'Color', [0.6350 0.0780 0.1840])
print(gcf, fileList(k).name+".png");
end
now my only problem is with [ title(FileName) ]. My files names contain underscores ( _ ) instead of spaces (for example: Data_22-12-23_1534_0001.txt), and this create small letter after each underscore on the title on my figure. is there a solution for it?
screenshot of title on figure:
Image Analyst
Image Analyst 2022-12-27
Use the 'Interpreter' 'none' option
title(FileName, 'Interpreter', 'none', 'FontSize', 20);

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Axis Labels 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by