Mass importing .txt files with sequential names to plot multiple graphs on same figure for easy comparison

4 views (last 30 days)
I have 30 .txt files numbered like so:
FreeField1.txt
FreeField2.txt
...
FreeField30.txt
I need to find a way to import the data from all the files at once so I can then plot a graph with all of them overlaid to allow for quick comparison.
The current method I have found which inputs all the data is like so
numfiles = 30;
S = dir('*.txt')
N = length(S)
for i = 1:numel(S)
S(i).data = readtable(S(i).name)
end
But this gives a structure which I do not how to progress from. I am looking for any possible methods which could be used for this mass importation to then build off for the plotting of graphs.
Any help would be appreciated as I am very new to MATLab and am wishing to understand it more. I have attached a sample text file for convenience.

Accepted Answer

Walter Roberson
Walter Roberson on 19 Jun 2025
Edited: Walter Roberson on 19 Jun 2025
N = 30;
files = "FreeField" + (1:N) + ".txt";
S = cell(N, 1);
for K = 1 : N
S{K} = readtable(files(K));
end
for K = 1 : N
plot(S{K}.(1), S{K}.(2), 'displayname', files(K));
hold on
end
legend show

More Answers (0)

Categories

Find more on 2-D and 3-D Plots in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!