フィルターのクリア

Why is colormap only applied to the last subplot?

6 ビュー (過去 30 日間)
Reza Yahyaei
Reza Yahyaei 2020 年 7 月 31 日
編集済み: Reza Yahyaei 2020 年 7 月 31 日
Hello. I made a custom (circular) colormap for phase angles. However, in the loop, only the last subplot takes the change. What is the issue in this code? Thanks!
figure
for i = 1:5
subplot(2, 5, i);
topoplot(double(squeeze(pophmat(timeidx, i, :, 1))), EEG.chanlocs, ...
'style', 'map', 'electrodes', 'off');
title(['Pwr: ' num2str(frequencies(i)) 'Hz, 180ms']);
subplot(2, 5, i+5);
topoplot(double(squeeze(pophmat(timeidx, i, :, 2))), EEG.chanlocs, ...
'style', 'map', 'electrodes', 'off');
title(['Phs: ' num2str(frequencies(i)) 'Hz, 180ms']);
colormap(gca, circular_jet); % Applying the custom colormap to the current subplot
end
  2 件のコメント
Serhii Tetora
Serhii Tetora 2020 年 7 月 31 日
becase current axes, that you get with gca is the last subplot
Reza Yahyaei
Reza Yahyaei 2020 年 7 月 31 日
編集済み: Reza Yahyaei 2020 年 7 月 31 日
But I tried this also with a handle h = subplot(... and the result was the same. Btw, by the last subplot I mean the last one in the whole set (10th subplot) not the second subplot in each loop.

サインインしてコメントする。

採用された回答

Reza Yahyaei
Reza Yahyaei 2020 年 7 月 31 日
編集済み: Reza Yahyaei 2020 年 7 月 31 日
I debugged my own code and realized that the issue is with the topoplot function. After applying the colormap, when it goes to plot the next one with topoplot, it reverses all the previous changes in colormaps because apparently topoplot implicitly applies its own colormap to the whole figure. Therefore only the last subplot avoids the reset.

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSubplots についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by