Filter löschen
Filter löschen

Plot a cell array containing n matrices on same graph but with different color for each matrix.

1 Ansicht (letzte 30 Tage)
I have a cell array with which contains n matrices. I want to plot the cell array with each matrix plotted on the same graph. Each matrix line should be plotted with a different color.
  2 Kommentare
Akira Agata
Akira Agata am 12 Aug. 2017
Question for clarification. You mean, your cell array is 1-by-n (or n-by-1), and each cell contains numeric array? If so, what is the size of each numeric array?

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Anuj Prajapati
Anuj Prajapati am 16 Aug. 2017
This solves the problem. P{} contains the matrices.
colorspec = {[1 1 0]; [1 0 1]; [0 1 1];[1 0 0]; [0 1 0];[0 0 1];[0 0 0]};
figure
hold on;
for j = 1:n;
plot(P{j}, 'Color', colorspec{j})
end

Weitere Antworten (2)

Akira Agata
Akira Agata am 17 Aug. 2017
Here is another way. By using cellfun, you don't need to use for-loop.
% Sample 10-by-1 cell
C = cell(10,1);
for kk = 1:10
C{kk} = rand(randi(20),1);
end
% Plot
figure
hold on;
cellfun(@plot,C);

Cemil Közkurt
Cemil Közkurt am 13 Aug. 2017
Bearbeitet: Cemil Közkurt am 13 Aug. 2017
a=cell(2,2);
a{1,1}=[1:10;rand(1,10)];
a{1,2}=[1:5;rand(1,5)];
a{2,1}=[1:8;rand(1,8)];
a{2,2}=[1:3;rand(1,3)];
s=size(a);
for n=1:s(1)
for m=1:s(2)
plot(a{n,m}(1,:),a{n,m}(2,:))
hold on
end
end
  5 Kommentare

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by