アプリケーション上に、複数のファイルを読み込み、uiaxesグラフに記入したい
f1(20000行×3列)は、f2(15000行×3列)を3次元上に点でプロットしたいです。
ファイル読み込みの関係で、for分構造内にuiaxesを入れています。
同じグラフに重ねて書きたいのですが、上書き(f2のみ)となってしまいます。
この場合はどのようにしたらよいでしょうか。ご教授お願いします。

 采纳的回答

Kojiro Saito
Kojiro Saito 2022-11-9

0 个投票

holdを使うと解決できると思います。
1つ目のプロットをした後にhold onを行えば、2つ目のプロットを追加できます。hold offで上書きを解除できます。
サンプルコードは以下のとおりです。
ax = uiaxes;
for n=1:2
if n==1
[X,Y] = meshgrid(1:0.5:10,1:20);
Z = sin(X) + cos(Y);
surf(ax, X,Y,Z);
hold(ax, 'on')
else
[X,Y] = meshgrid(-5:.5:5);
Z = Y.*sin(X) - X.*cos(Y);
s = surf(ax, X,Y,Z,'FaceAlpha',0.5);
hold(ax, 'off')
end
end
MATLAB Answers上のコード実行ではuiaxesが使えないのですが、MATLABで実行すると以下のように2つの3次元プロットが含まれたプロットになります。

1 个评论

ご回答いただき、ありがとうございました。
解決することができました。

请先登录,再进行评论。

更多回答(0 个)

类别

在 帮助中心 和 File Exchange 中查找有关 MATLAB 的更多信息

产品

版本

R2022a

标签

Community Treasure Hunt

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

Start Hunting!