How do I make plot a 3D matrix as a scatter plot with color based on value?

I have a 3D matrix cube(i,j,k) and I want to plot the points as a scatter plot. However, each point is a different temperature and I would like to color each point based on the temperature.
The result would be a cube i by j by k with i*j*k points and each point would vary in color based on the value assigned to the point.

 채택된 답변

[X,Y,Z] = ndgrid(1:size(cube,1), 1:size(cube,2), 1:size(cube,3));
pointsize = 30;
scatter3(X(:), Y(:), Z(:), pointsize, cube(:));

추가 답변 (1개)

michio
michio 2016년 11월 17일
scatter3 allows you to specify color. Please have a look at the example code on the doc page.
scatter3(X,Y,Z,S,C)
draws each circle with the color specified by C, where C is a vectorized cube(i,j,k) with length equal to the length of X, Y, and Z. Then the values in C are linearly mapped to the colors in the current colormap.
If you have trouble applying scatter3 to your data, please let me know with the detailed situation.

카테고리

도움말 센터 및 File Exchange에서 Scatter Plots에 대해 자세히 알아보기

태그

질문:

2016년 11월 17일

답변:

2016년 11월 17일

Community Treasure Hunt

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

Start Hunting!

Translated by