「X,Y,Z,成分」の4列のテキストデータからパネルダイヤグラムを作成したい
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
「X,Y,Z,成分」の4列のテキストデータから、添付画像のようなパネルダイヤグラムを作成したいです。
値の取得は下記コードを作成したのですが、パネルダイヤグラムを表示するための手法は何が最適でしょうか?
% データフォルダの選択ダイアログを表示し、ファイルのパスを取得
[filename, folder] = uigetfile('*.txt', 'データファイルを選択してください');
% ユーザーがキャンセルボタンを押した場合の処理
if isequal(filename, 0) || isequal(folder, 0)
disp('ファイルが選択されませんでした。処理を中止します。');
return;
end
% ファイルのフルパスを構築
fullpath = fullfile(folder, filename);
% データの読み込み
data = dlmread(fullpath);
% XYZ座標と成分の列を取得
X = data(:, 1);
Y = data(:, 2);
Z = data(:, 3);
Component = data(:, 4);
0 Kommentare
Antworten (1)
Atsushi Ueno
am 26 Feb. 2024
Bearbeitet: Atsushi Ueno
am 27 Feb. 2024
slice 関数を使った上記サンプル事例を色々弄りました。だいぶ近づいたかな🤔
[x,y,z,v] = flow; % サンプルデータ(flow)
hxy = slice(x,y,z,v,[2,5,8],[-1.5,1.5],[]);
[hxy.FaceColor] = deal('interp'); % メッシュ内を補完して滑らかに
[hxy.EdgeColor] = deal('none'); % メッシュ状の目盛線を消す
alpha(hxy,.8) % 透明度の設定
set(gca,'Color','k'); % 座標軸の背景を黒に
set(gcf,'color','k'); % figureの背景を黒に
daspect([1,1,1]) % アスペクト比を1:1にする
axis tight % 座標軸の端までプロットされる様にする
view(-45,60) % カメラ角度
camzoom(1.4) % カメラズーム
lightangle(45,45) % 照明角度
colormap(jet) % カラーマップ設定
clim([-6,1]) % カラーマップ適用範囲設定
2 Kommentare
Atsushi Ueno
am 26 Feb. 2024
「X,Y,Z,成分」4列のデータを「ボリュームデータ=X,Y,Z,V全て同サイズの3次元行列」にする必要があります。理路整然と等間隔かつ昇順に並んだデータなら reshape 関数で加工する事ができますが、おそらくは測定データで、バラバラなXYZ座標と共に成分が測定されたものと思います。
% XYZ座標と成分の列を取得
X = data(:, 1);
Y = data(:, 2);
Z = data(:, 3);
Component = data(:, 4);
dx = 0.01; dy = 0.01; dz = 0.01; % ボリュームデータの刻み幅 (要変更)
F = scatteredInterpolant(data,Component); % 3次元の散布データの内挿
[xq,yq,zq] = meshgrid(min(X):dx:max(X), min(Y):dy:max(Y), min(Z):dz:max(Z));
vq = F(xq,yq,zq); % クエリ位置 (xq,yq,zq) で内挿を評価
Siehe auch
Kategorien
Mehr zu ビッグ データの処理 finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!