plot seperate measurements in for loop on the same graph
1 次查看(过去 30 天)
显示 更早的评论
I have several measurements saved in one folder. All measurement files have the same two colums (column A is time(s) and column B is volt). I used this script:
myDir = uigetdir; %gets directory
myFiles = dir(fullfile(myDir,'*.xlsx')); %gets all xlsx in struct
for i = 1:length(myFiles(:,1));
sig= xlsread(myFiles(i).name, 'B:B');
time= xlsread(myFiles(i).name, 'A:A');
plot(time,sig(i))
However, the sig returns as the values of column B of all measurements and does not plot anything but I only want Matlab to loop through every file and then plot the separate measurements in one figure using multiple graphs per measurement.
3 个评论
Jonathan Chin
2017-10-11
编辑:Jonathan Chin
2017-10-11
do you mean sub plots?
for i = 1:length(myFiles(:,1));
sig{i}= xlsread(myFiles(i).name, 'B:B');
time{i}= xlsread(myFiles(i).name, 'A:A');
subplot(length(myFiles(:,1)),1,i)
plot(time{i},sig{i})
end
subplot allows you to put multiple plots on the same figure.
回答(1 个)
KSSV
2017-10-10
files = dir('*.xlsx'); % get all excel files
N = length(files) ; % total number of files
figure
hold on
for ii = 1:N
[num,txt,raw] = xlsread(files(i).name) ;
plot(num(:,1),num(:,2))
end
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Annotations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!