gpt4 book ai didi

matlab - 在表的 for 循环中将条形图绘制为子图,以便在每次迭代 w.r.t 行元素时更新

转载 作者:行者123 更新时间:2023-12-04 08:25:49 27 4
gpt4 key购买 nike

我在主题的 for 循环中有几个子图。我想从 20x2 表中绘制主题明智的表现。我如何制作一个单独的子图 - 同一图形上的条形图,其方式是在第一次迭代时更新并将第一行的元素分别绘制为空间和时间,然后在第二次迭代中,第二行的元素以此类推,从性能表?下面给出了我的代码的摘录。
在此先感谢您的帮助!
最好的,
一种

for s=1:size(SubjectFolder,2)
% ..... some code
figure(1)
subplot(423)
f_psd = Grand_AvgTF_Space.freq;
[trash,f_psd_plot] = min(abs(f_psd-which_f));
PSD = mean(abs(squeeze(Grand_AvgTF_Space.powspctrm(s,:,:,:))),3); % [ch x freq] PSD of space or time condition
semilogy(f_psd,PSD,'color','b')
hold on,
semilogy(f_psd, mean(PSD),'linewidth',3,'color','r')
hold on
line([which_f which_f],[min(PSD(:)) max(PSD(:))],'color','g','linewidth',3)
xlabel('Frequency (Hz)')
ylabel('Power (dB/Hz)')
title( 'Space' )
ylim([min(PSD(:)) max(PSD(:))])
title( 'Space' )
subplot(424), % topoplot space
data_megin.avg = repmat(PSD(:,f_psd_plot),1,length(data_megin.time));
cfg.parameter = 'avg' %
ft_topoplotER(cfg, data_megin );
title(['Topolot for Space Freq = ' num2str(f_psd(f_psd_plot)) ' Hz'])

%..... some code
end

% 20x2 Table looks like this without variable names. Suppose I wanna give 1st col name as Space and 2nd col as Time in the required subplot, where each row represents subject1 to subject20.
96 100
85 89
. .
. .
80 87
enter image description here
enter image description here

最佳答案

不幸的是,如果没有我使用占位符图的数据,这可能会起作用。条形图的大小和颜色很可能也可以更改。在这里,我假设地形图可以占用一个子图槽而没有任何问题。我对地形图的绘图特征/行为不够熟悉,无法判断这是否会按预期工作。
对于较小的条形图,将这条线从:

subplot(4,3,[3 6 9 12]); Bar_Graph = bar(Bar_Data);
到:
subplot(4,3,[6 9]); Bar_Graph = bar(Bar_Data);
Subplots Using Multiple Slots
Table = round(100*rand(20,2));
Placeholder = zeros(500,1000);

for Figure_Index = 1: 20

figure(Figure_Index);
subplot(4,3,1); imshow(Placeholder); title("Plot 1");
subplot(4,3,2); imshow(Placeholder); title("Topoplot 1");
subplot(4,3,4); imshow(Placeholder); title("Plot 2");
subplot(4,3,5); imshow(Placeholder); title("Topoplot 2");
subplot(4,3,7); imshow(Placeholder); title("Plot 3");
subplot(4,3,8); imshow(Placeholder); title("Topoplot 3");
subplot(4,3,10); imshow(Placeholder); title("Plot 4");
subplot(4,3,11); imshow(Placeholder); title("Topoplot 4");

Bar_Data = Table(Figure_Index,:);
subplot(4,3,[3 6 9 12]); Bar_Graph = bar(Bar_Data);
text(1:length(Bar_Data),Bar_Data,num2str(Bar_Data'),'vert','bottom','horiz','center');
Bar_Graph.BaseLine.Visible = 'off';
axis off

end
使用 MATLAB R2019b 运行

关于matlab - 在表的 for 循环中将条形图绘制为子图,以便在每次迭代 w.r.t 行元素时更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65270468/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com