三次元座標の点の色分けをする方法について
조회 수: 10 (최근 30일)
이전 댓글 표시
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軸のラベル名
댓글 수: 0
채택된 답변
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で色分けを制御しています.以下が色分けのイメージです.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 ビッグ データの処理에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!