2

次元D x D x Nの 3D マトリックスがあります。動的ヒートマップを作成して、 Nでどのように変化するかを示したいと思います。これを実現するために使用した MATLAB コードを次に示します。

for n=1:N
    heatmap(dynamicCov(:,:,n));
    pause(0.5);
end

このコードの問題は、nごとに新しい Figure ウィンドウが開くことです。同じヒートマップウィンドウで更新したい。それは可能ですか?これを達成する他の方法はありますか?

ありがとう。

4

2 に答える 2

2

プロットを作成する必要があるかどうかを示すヒートマップへの文書化されていない 2 番目の入力と、作成された図へのハンドルを取得するためのいくつかの他のハンドル グラフィックス トリックを使用する必要があります。何かのようなもの

data = rand(20,20,10); % create test data
hmo = HeatMap(data(:,:,1),false); % create but do not plot
plot(hmo); % do the plot
allHFig = findall(0,'Type','figure'); % get handle to all open figures
hFig = allHFig(1); % we want the most recently created figure
for idx = 2:size(data,3)
   hmo = HeatMap(data(:,:,idx),false); % create heatmap but do not plot
   plot(hmo,hFig); % plot to our existing figure
   pause(0.5);
end
于 2013-05-05T04:05:53.223 に答える