Colormap and plot with nxn matrices
이전 댓글 표시
Hi,
I have got 2 matrices x and y. For each x(i,:) y(i,:) I have got an array z. Now I want to draw them color coded like in a scatter plot corresponding with z and I also also want to have a colorbar, which is linked to the according color. At the same moment I want to have a solid line connecting the points in one course x(i,:) y(i,:).
답변 (2개)
Kelly Kearney
2011년 6월 23일
You can use a patch to make a color-changing line:
x = rand(10,1);
y = rand(10,1);
z = rand(10,1);
hp = patch([x' NaN], [y' NaN], 0);
set(hp,'cdata', [z' NaN], 'edgecolor','interp','facecolor','none');
hold on;
scatter(x,y,20,z,'filled');
댓글 수: 2
betlor5
2011년 6월 24일
Kelly Kearney
2011년 6월 24일
The patch will follow the same colormap as the scatter plot, and you can change both the colormap and color limits for the axis to be whatever you need it to be.
Walter Roberson
2011년 6월 22일
for K = 1:size(x,1)
plot(x(K,:),y(K,:),'-'); %solid line, no marker
hold on
pointsize = 8; %adjust as needed
scatter(x(K,:),y(K,:),pointsize,z(K,:)); %color coded dots
end
colorbar
댓글 수: 3
betlor5
2011년 6월 23일
Walter Roberson
2011년 6월 23일
Yup. You didn't say you wanted to color-code the line itself.
There is no way built in to MATLAB to have a "line" or "lineseries" object have more than one color, so you need to color each segment individually.
Please indicate what color you expect each segment on the line to be. What about the segments that go between z of different value?
betlor5
2011년 6월 24일
카테고리
도움말 센터 및 File Exchange에서 Color and Styling에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!