三次元座標の点の色分けをする方法について

조회 수: 10 (최근 30일)
AIDA
AIDA 2024년 8월 2일
댓글: AIDA 2024년 8월 6일
csvファイルでn行4列のデータがあります。1列目からX座標、Y座標、Z座標、体積(µm^3)です。
swarmchart3を用いて三次元粒子群散布図を作成したのですが、体積の値ごとに色分けをしたいです。具体的には0µm^3以上1000µm^3以下、1000µm^3以上2000µm^3以下、2000µm^3以上3000µm^3以下・・・のように9000µm^3以上10000µm^3以下あたりまで色分け、カラーバーを追加したいです。
matlabを始めたばかりで初歩的な質問で申し訳ないですが、どなたかお知恵を拝借したく存じます。よろしくお願いいたします。
M = readmatrix("centroidXYZ_volume_sample.csv");
figure;
x = [M(:,1)]; %1列目を代入
y = [M(:,2)]; %2列目を代入
z = [M(:,3)]; %3列目を代入
swarmchart3(x,y,z,1, "."); %3次元粒子群散布図、サイズ1で点表記
xlim([0,30000]); %x軸の表示範囲
ylim([0,30000]); %y軸の表示範囲
zlim([0,100]); %z軸の表示範囲
%x軸の表示方法
xticks(0:5000:30000);
xticklabels({'0','5000','10000','15000','20000','25000','30000'});
%y軸の表示方法
yticks(0:5000:30000);
yticklabels({'0','5000','10000','15000','20000','25000','30000'});
%z軸の表示方法
%zticks(0:100:1000);
xlabel('centroid X [voxel]'); %x軸のラベル名
ylabel('centroid Y [voxel]'); %y軸のラベル名
zlabel('centroid Z [voxel]'); %z軸のラベル名

채택된 답변

Tomoaki Takagi
Tomoaki Takagi 2024년 8월 3일
편집: Tomoaki Takagi 2024년 8월 3일
以下はいかがでしょうか
M = readmatrix("centroidXYZ_volume_sample.csv");
figure;
x = [M(:,1)]; %1列目を代入
y = [M(:,2)]; %2列目を代入
z = [M(:,3)]; %3列目を代入
c = [M(:,4)]; %4列目を代入
swarmchart3(x,y,z,1,c, "."); %3次元粒子群散布図、サイズ1で点表記
mymap = [
0 0 0 % 黒
1 0 0 % 赤
0 1 0 % 緑
0 0 1 % 青
1 1 0
1 0 1
0 1 1
.5 .5 0
.5 0 .5
0 .5 .5
];
colormap(mymap);
colorbar;
clim([0 10000]);
xlim([0,30000]); %x軸の表示範囲
%以下略
mymapで色分けを制御しています.以下が色分けのイメージです.
  댓글 수: 1
AIDA
AIDA 2024년 8월 6일
ご回答ありがとうございます。自分の求めていた図を描くことができました。
ありがとうございました。

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 ビッグ データの処理에 대해 자세히 알아보기

제품


릴리스

R2022b

Community Treasure Hunt

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

Start Hunting!