如何禁用一个图中所有子图中的轴?
How to disable axis in all subplots within one figure?
我和我的朋友想将 32 个子图绘制成一个图形。他们所有人都必须禁用他们的轴。目前我们遍历所有子图,进行计算并做
axis off
对于每个子图。我们总时间的 33% 来自那条线。有没有办法一次关闭所有子图的轴或其他更快的方法?
根据当前轴的documentation, axis off
just sets the 'Visible'
属性到'off'
。所以你可以用
一次关闭当前图形的所有轴
set(get(gcf, 'Children'), 'Visible', 'off')
然而,上面的代码也删除了轴标题,因为不知何故它还设置了标题 Text
objects 的 'Visible'
属性 为 'off'
.为避免这种情况,您可以使用以下方法,删除 x 轴、y 轴和背景颜色,而不影响标题:
t = get(get(gcf, 'Children'), 'XAxis');
set([t{:}], 'Visible', 'off')
t = get(get(gcf, 'Children'), 'YAxis');
set([t{:}], 'Visible', 'off')
set(get(gcf, 'Children'), 'Color', 'none')
或者您可以按照第一种方法进行操作,然后恢复标题:
set(get(gcf, 'Children'), 'Visible', 'off')
t = get(get(gcf, 'Children'), 'Title');
set([t{:}], 'Visible', 'on')
我和我的朋友想将 32 个子图绘制成一个图形。他们所有人都必须禁用他们的轴。目前我们遍历所有子图,进行计算并做
axis off
对于每个子图。我们总时间的 33% 来自那条线。有没有办法一次关闭所有子图的轴或其他更快的方法?
根据当前轴的documentation, axis off
just sets the 'Visible'
属性到'off'
。所以你可以用
set(get(gcf, 'Children'), 'Visible', 'off')
然而,上面的代码也删除了轴标题,因为不知何故它还设置了标题 Text
objects 的 'Visible'
属性 为 'off'
.为避免这种情况,您可以使用以下方法,删除 x 轴、y 轴和背景颜色,而不影响标题:
t = get(get(gcf, 'Children'), 'XAxis');
set([t{:}], 'Visible', 'off')
t = get(get(gcf, 'Children'), 'YAxis');
set([t{:}], 'Visible', 'off')
set(get(gcf, 'Children'), 'Color', 'none')
或者您可以按照第一种方法进行操作,然后恢复标题:
set(get(gcf, 'Children'), 'Visible', 'off')
t = get(get(gcf, 'Children'), 'Title');
set([t{:}], 'Visible', 'on')