Borrar filtros
Borrar filtros

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

1 visualización (últimos 30 días)
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 comentarios
Akira Agata
Akira Agata el 12 de Ag. de 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?
Anuj Prajapati
Anuj Prajapati el 16 de Ag. de 2017
It's n-by-1 and is supposed to contain matrices of unequal dimensions.

Iniciar sesión para comentar.

Respuesta aceptada

Anuj Prajapati
Anuj Prajapati el 16 de Ag. de 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

Más respuestas (2)

Akira Agata
Akira Agata el 17 de Ag. de 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 el 13 de Ag. de 2017
Editada: Cemil Közkurt el 13 de Ag. de 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 comentarios

Iniciar sesión para comentar.

Community Treasure Hunt

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

Start Hunting!

Translated by