У меня есть файл данных , который имеет 3 столбца, 1-й столбец - это поле для данных, или вы можете сказать другой индекс.2-й столбец - данные оси X, а 3-й столбец - данные оси Y.Теперь у меня есть похожие файлы данных для разных переменных, например, 8 файлов.Я хочу построить весь график на одной фигуре в MATLAB.Для моей проблемы, я показываю только один участок.Этот файл данных субплота должен отображать 5 «линейных графиков» для 5 индексов (1-й столбец).Но когда я строю сюжет в качестве сюжета, он показывает только 1 сюжет.Вот мой код ниже:
% open Zdiff Odd Mode data file
fid = fopen('Data_test.txt');
% Read data in from csv file
readData = textscan(fid,'%f %f %f','Headerlines',1,'Delimiter',',');
fclose(fid);
% Extract data from readData
index_Data = readData{1,1}(:,1);
% Identify the unique indices
uni_idx=unique(index_Data);
xData = readData{1,2}(:,1);
yData = readData{1,3}(:,1);
% Plot Data
f = figure;
%Top Title for all the subplots
p = uipanel('Parent',f,'BorderType','none');
p.Title = 'Electrical Characteristics';
p.TitlePosition = 'centertop';
p.FontSize = 14;
p.FontWeight = 'bold';
cla; hold on; grid on, box on;
ax1 = subplot(2,4,1,'Parent',p);
% Loop over the indices to plot the corresponding data
for i=1:length(uni_idx)
idx=find(index_Data == uni_idx(i));
plot(xData(idx,1),yData(idx,1))
end
График показывает, как показано ниже:
Когда я отображаю данные в виде полной цифры, графикидеально.Но так как у меня есть много данных, которые можно отобразить на одной фигуре в виде вспомогательных участков, мне нужно знать, что не так в моем коде подзаговора.
Вот мой код для всей фигуры данных без подзаговора
Перед построением кода он такой же, как и раньше:
% Plot Data
f1 = figure(1);
cla; hold on; grid on;
% Loop over the indices to plot the corresponding data
for i=1:length(uni_idx)
idx=find(index_Data == uni_idx(i));
plot(xData(idx,1),yData(idx,1))
end
Полученный результат приведен ниже:
Что такоечто-то не так с моим кодом построения в подзаговоре?Кто-нибудь может мне помочь?