3次元行列要素のカラープロット

21 views (last 30 days)
進太郎 中村
進太郎 中村 on 18 Jan 2023
Commented: 進太郎 中村 on 19 Jan 2023
3次元行列のz座標の値をもとにカラーバーを用いたカラープロットをします.
以下の通りコードを作成し,以下図を作成したのですが,調べた限りでは,z座標の値(以下コード内の行列'Z')とカラーバーを対応させる方法が判明せず,1色のみで構成されてしまっています.
z座標の値の大小とカラーバーを対応させる方法に関しまして,ご教授ください.
読みづらいコードになってしまっていますが,よろしくお願いいたします。
figure
A=ones(6,1)*0.5;
B=ones(6,1);
C=ones(6,1)*1.5;
D=1:1:6;
E=transpose(D);
F=[0.5834;0.7278;0.8629;0.9954;1.1204;1.2407;];
G=[0.6024;0.7621;0.916;1.0662;1.2143;1.3451;];
H=[0.6101;0.7744;0.9318;1.0829;1.2349;1.3744;];
X=[A;B;C];
Y=[E;E;E];
Z=[F;G;H];
scatter3(X,Y,Z,'filled')
colorbar

Accepted Answer

Atsushi Ueno
Atsushi Ueno on 18 Jan 2023
>z座標の値の大小とカラーバーを対応させる方法に関しまして,ご教授ください.
  • scatter3(X,Y,Z,S,C)の構文を使えば、5番目の引数CにZの値を入力出来ます
  • clim関数でカラーマップの範囲(値域)を設定する事が出来ます
figure
A=ones(6,1)*0.5;
B=ones(6,1);
C=ones(6,1)*1.5;
E=transpose(1:1:6);
F=[0.5834;0.7278;0.8629;0.9954;1.1204;1.2407];
G=[0.6024;0.7621;0.916;1.0662;1.2143;1.3451];
H=[0.6101;0.7744;0.9318;1.0829;1.2349;1.3744];
X=[A;B;C];
Y=[E;E;E];
Z=[F;G;H];
scatter3(X,Y,Z,30,Z,'filled'); % scatter3(X,Y,Z,S,C)の構文を使う
colorbar
clim([min(Z) max(Z)]); % カラーマップの範囲を設定 (R2022a で caxis から名前変更)
全く同じ箇所でお二方が殆ど同じタイミングで質問されています。いやはやこれは不思議な偶然ですね。
  1 Comment
進太郎 中村
進太郎 中村 on 19 Jan 2023
ご回答ありがとうございます.
clim関数で範囲指定ができるのですね.
勉強になりました.

Sign in to comment.

More Answers (0)

Products


Release

R2022b

Community Treasure Hunt

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

Start Hunting!