Creating subplots based on a cell array
Ältere Kommentare anzeigen
Hi,
If I have two cells like this:
cell1 = {'AA' 'AA' 'BC' 'BC' 'BC' 'DD' 'DD'; 1 2 3 4 5 6 7; 7 6 5 4 3 2 1; 5 9 8 7 6 5 4}
cell2 = {'AA' 'AA' 'BC' 'BC' 'BC' 'DD' 'DD'; 3 4 5 6 7 8 9; 2 3 4 5 6 7 8; 9 8 7 6 5 4 3}
Is there a way to create subplots based on matching the strings from the first row, where there is not necessarily an equal number of strings for all?
The final figures would look something like this:



Thank you!
4 Kommentare
the cyclist
am 11 Jul. 2023
Is the pattern of alphabetic characters (e.g. 'AA') guaranteed to be identical between the two cell arrays?
Liam
am 11 Jul. 2023
Liam
am 11 Jul. 2023
Akzeptierte Antwort
Weitere Antworten (1)
cell1 = {'AA' 'AA' 'BC' 'BC' 'BC' 'DD' 'DD'; 1 2 3 4 5 6 7; 7 6 5 4 3 2 1; 5 9 8 7 6 5 4};
cell2 = {'AA' 'AA' 'BC' 'BC' 'BC' 'DD' 'DD'; 3 4 5 6 7 8 9; 2 3 4 5 6 7 8; 9 8 7 6 5 4 3};
numbers1 = cell2mat(cell1(2:end,:));
numbers2 = cell2mat(cell2(2:end,:));
[uniqueAlpha,~,indexFromUniqueToAll] = unique(cell1(1,:));
numberUniqueAlpha = numel(uniqueAlpha);
for na = 1:numberUniqueAlpha
columnsThisAlpha = find(indexFromUniqueToAll==na);
numberColumnsThisAlpha = numel(columnsThisAlpha);
figure
tt = tiledlayout(numberColumnsThisAlpha,1);
title(tt,uniqueAlpha(na))
for nc = 1:numberColumnsThisAlpha
nexttile
plot(numbers1(:,nc),numbers2(:,nc))
end
end
Kategorien
Mehr zu Shifting and Sorting Matrices finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



