三次元座標の点の色分けをする方法について
8 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Réponse acceptée
Tomoaki Takagi
le 3 Août 2024
Modifié(e) : Tomoaki Takagi
le 3 Août 2024
以下はいかがでしょうか
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で色分けを制御しています.以下が色分けのイメージです.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur ビッグ データの処理 dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!