我从电极网格上的记录中加载了大量数据,并希望绘制每个电极上的迹线,其中包含多个子图,每个电极一个。
for traces = 1:rows*columns;
subplot(rows,columns,traces);
baseline = mean(EX_output(1:baseline_time,traces));
plot(EX_output(1:timepoints,traces));
axis([000 timepoints baseline-60 baseline+60])
axis off
disp(traces); %print out trace completed
end
有900条痕迹(30x30)。这可以产生并产生一个数字,但需要很长时间(2-3小时)。
完成跟踪后,我打印出数字。它看起来快到300左右,但在此之后开始减速并继续减速。如何加快绘图过程?
答案 0 :(得分:2)
如果您键入edit subplot
并查看第378行,您会看到它在您进行子绘图时检查该图的所有兄弟姐妹。这意味着您已经拥有的子图越多,它需要检查的越多。我希望这是它减速的原因。如果你调用它并明确声明父图形,你可以通过将子图形声明为新的来加速它。
f=figure(1);clf
f.NextPlot='new';
cols=20;rows=20;
tic
for idx = 1:(cols*rows)
subplot(rows,cols,idx,'Parent',f);
%subplot(rows,cols,idx);
end
toc
在我的电脑上,这会让你有时间将20x20的数字从10秒降低到6秒。
哦,我完全同意上面的评论。我看不到30x30子图的实际用途,因为单个图太小而看不到任何东西。