Plot a cell array containing n matrices on same graph but with different color for each matrix.
이전 댓글 표시
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
Akira Agata
2017년 8월 12일
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
2017년 8월 16일
채택된 답변
추가 답변 (2개)
Akira Agata
2017년 8월 17일
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
2017년 8월 13일
편집: Cemil Közkurt
2017년 8월 13일
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
Walter Roberson
2017년 8월 16일
Anuj Prajapati comments to Cemil:
This plots with same color for each matrix.
Walter Roberson
2017년 8월 16일
Anuj Prajapati: In R2014b and later, this plots with a different color for each matrix.
Cemil Közkurt
2017년 8월 20일
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
2017년 8월 20일
That appears to be four distinct colors to me.
Anuj Prajapati
2017년 8월 22일
카테고리
도움말 센터 및 File Exchange에서 Surface Style에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!