Plot a cell array containing n matrices on same graph but with different color for each matrix.
Mostrar comentarios más antiguos
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
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
el 16 de Ag. de 2017
Respuesta aceptada
Más respuestas (2)
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
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
Walter Roberson
el 16 de Ag. de 2017
Anuj Prajapati comments to Cemil:
This plots with same color for each matrix.
Walter Roberson
el 16 de Ag. de 2017
Anuj Prajapati: In R2014b and later, this plots with a different color for each matrix.
Cemil Közkurt
el 20 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

am i a color blind?
Walter Roberson
el 20 de Ag. de 2017
That appears to be four distinct colors to me.
Anuj Prajapati
el 22 de Ag. de 2017
Categorías
Más información sobre Surface Style en Centro de ayuda y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!