gpt4 book ai didi

matlab - 同时将绘图属性应用于所有 MATLAB 子图

转载 作者:太空宇宙 更新时间:2023-11-03 19:27:24 25 4
gpt4 key购买 nike

我想创建一个图形,一旦创建了子图,我想同时对所有子图应用属性,而无需通过 for 循环。事实上,我想在不需要通过 for 循环的情况下执行以下所有操作:

  • 在没有 for 循环的情况下创建所有子图。 (例如,创建一个包含 4x5 子图的图形,而不是使用 for 循环)。
  • 对每个没有 foor 循环的子图应用相同的背景颜色。
  • 在没有 for 循环的情况下对所有这些应用相同的轴命令。 (例如轴相等、轴紧等)。

有办法吗?

最佳答案

最方便的方法是创建一个坐标轴句柄数组,然后设置属性:

for i=1:4,
axesHandles(i) = subplot(2,2,i);
plot(...)
end

%# set background to black for all handles in the array
%# note that this needs no loop
set(axesHandles,'color','k')

如果您没有收集坐标轴句柄,则需要先收集句柄数组。为此,您可以使用图形窗口的子属性(gcf 获取当前事件图形的句柄)

axesHandles = get(gcf,'children');

如果您的坐标轴横跨多个图形,您可以使用 findall 来收集所有内容:

axesHandles = findall(0,'type','axes');

从那时起,它又是对 setaxis 的一次调用,例如

set(axesHandles,'color','k','lineWidth',2)
axis(axesHandles,'tight')

关于matlab - 同时将绘图属性应用于所有 MATLAB 子图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12235964/

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