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.

 採用された回答

Walter Roberson
Walter Roberson 2016 年 11 月 17 日
[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.

カテゴリ

タグ

質問済み:

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