contourfのZ​データの更新・再描画​の方法について教えて​下さい

2 次查看(过去 30 天)
Shinij Kumagai
Shinij Kumagai 2020-7-26
评论: michio 2020-8-2
contourfで、Zデータを、新規Zデータに置き換えたときの再描画がうまくいきません。
置き換えた新規Zデータより、明らかに小さい値でコンター図が描かれてしまいます。(下記コード)。対処方法を教えていただけると幸いです。
○コード
figure
ax11=subplot(2,1,1);
[c1,h1]=contourf(xq,yq,BDmatrixq,200);
set(h1,'edgecolor','none');
colormap jet(256)
colorbar
%%
set(h1,'XData',xq,'YData',yq,'ZData',BDmatrixq2);
drawnow
colormap jet(256)
colorbar
※補足
BDmatrixq2の最大値は940程度ですが、描画の最大値は、400程度になっています。
>> max1=max(BDmatrixq2(:))
max1 = 940

回答(1 个)

michio
michio 2020-7-30
'LevelListMode' プロパティが肝です。
R2020a で試しましたが、R2015a で同様かどうか確認頂けますでしょうか?
[c1,h1]=contourf(xq,yq,BDmatrixq,200);
と等高線の数を指定した場合、h1.LevelListMode は 'manual' になっているかと思います。等高線の数を指定しない場合は 'auto' です。
'manual’ になっている場合、
set(h1,'XData',xq,'YData',yq,'ZData',BDmatrixq2);
と ZData を更新した場合でも h1.LevelList (等高線を引く Z の値)は更新されません。この辺が影響しているのかなと想像しています。
試しに
h1.LevelListMode = 'auto';
set(h1,'XData',xq,'YData',yq,'ZData',BDmatrixq2);
'LevelListMode' を変更してから ZData の更新を行ってみてください。
  2 个评论
Shinij Kumagai
Shinij Kumagai 2020-7-31
ご回答いただきありがとうございます。
無事に実行できました。
本当に、ありがとうございました。
michio
michio 2020-8-2
よかったです!

请先登录,再进行评论。

标签

产品


版本

R2015a

Community Treasure Hunt

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

Start Hunting!