【问题标题】:Using suptitle overrides ('visible', 'off') figure property in matlab在matlab中使用字幕覆盖('可见','关闭')图形属性
【发布时间】:2012-09-29 23:18:53
【问题描述】:

我在 matlab R2011b 中生成大量图表。我想利用 ('visible', 'off') 图形属性,这样我就不需要在屏幕上显示每个图 --- 每个图都包含 lot 的数据和几个子图,因此渲染它们会占用时间和不必要的处理能力(我将它们直接保存到图像中)。

每个图包含四个子图,我想为每个图添加一个超级“标题”。我一直在使用suptitle(bioinfo 工具箱的一部分),但似乎使用 suptitle 取消了 ('visible, 'off') 的效果,并且无论如何都会显示该图。

xdata = -100:1:100;
ydata = -100:1:100;
zdata = rand(1,201)*-50;

fig1 = figure(1)
set(fig1, 'visible', 'off')
subplot(2,1,1)
scatter(xdata, ydata, 10, zdata)
title('Small title 1')
subplot(2,1,2)
scatter(xdata, ydata, 10, zdata)
title('small title 2')
suptitle('This is a big title') 

使用此代码,将显示图形。如果 suptitle 行被注释掉,则该图不会显示(这是我想要的)。

有谁知道

  1. 为什么会这样?
  2. 如何修复/解决它?是否有另一种方法可以为带有子图的图形添加大标题?

谢谢。

【问题讨论】:

标签: plot matlab matlab-figure


【解决方案1】:

只需将此行复制到示例代码的末尾即可:

 set(fig1, 'visible', 'off')

这应该可以解决您的问题...

【讨论】:

  • 我已经尝试过了,这只是部分修复。图形呈现在屏幕上,然后消失。
  • 有趣。我只在将行移到代码末尾时才看到这一点。如果该行的2个副本出现在代码的开头和结尾,则不会生成图形...
  • 啊,我没试过把那条线放进去两次——只是把它移到最后。如果你把它放在两次它似乎工作。一个黑客,但它的工作原理。谢谢:)
  • 不幸的是,这种解决方法在我的 MATLAB 2017a 中不起作用。该错误仍然存​​在。
猜你喜欢
  • 1970-01-01
  • 2014-06-19
  • 1970-01-01
  • 2013-10-26
  • 2022-10-01
  • 2018-07-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多