colouring dots in scatter3 according z-value
조회 수: 75 (최근 30일)
이전 댓글 표시
plot3 gives colours according to height above the xy-plane. Is that possible with scatter3 too?
댓글 수: 0
채택된 답변
Star Strider
2017년 9월 18일
It is relatively straightforward to do what you want:
x = rand(10, 1); % Create Data
y = rand(10, 1); % Create Data
z = rand(10, 1); % Create Data
zscaled = z*10; % May Be Necessary To Scale The Colour Vector
cn = ceil(max(zscaled)); % Number Of Colors (Scale AsAppropriate)
cm = colormap(jet(cn)); % Define Colormap
figure(2)
scatter3(x, y, z, [], cm(ceil(zscaled),:), 'filled')
grid on
댓글 수: 4
Maria Zilidou
2022년 3월 26일
what happens if x,y,z are matrices? for example x,y,z are 10x10 matrices. how do you asign colours according to the value of z using scatter3?
Star Strider
2022년 3월 26일
I would create them as vectors using the (:) subscript notation:
scatter3(x(:), y(:), z(:), [], z(:))
or something similar and appropriate.
.
추가 답변 (2개)
Weia Reinboud
2017년 9월 18일
댓글 수: 1
José-Luis
2017년 9월 18일
You can specify the color as a linear function of z:
x = 1:10;
z = fliplr(x);
scatter3(x,x,z,2,z)
참고 항목
카테고리
Help Center 및 File Exchange에서 Line Plots에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!