从命令提示符向MATLAB图形添加标题

时间:2013-01-30 20:21:34

标签: matlab matlab-figure

我的数字有几个子图。我正在尝试在打印时添加标题。我可以从打印预览中做到这一点,但我想编写它,因为我的代码有很多数字。

figure('numbertitle','off','name','This is my window title',...
'PaperOrientation','landscape','PaperPosition',[0.25,0.25,10.5,7])

subplot(2,2,1)
plot(1:10)
title('Example subplot1')

subplot(2,2,2)
plot(10:20)
title('Example subplot2')

subplot(2,2,3)
plot(20:30)
title('Example subplot3')

subplot(2,2,4)
plot(30:40)
title('Example subplot4')

我找到this,但它似乎不起作用,也不完全理解那里发生的事情。非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您链接中提到的解决方案确实有效。 通过“显示预览”对话框有一个小错误,因为它会覆盖设置标题。 您可以避免打开对话框(无论如何都是probal),或者之后更改标题以解决此问题。您始终可以使用getappdata(gcf,'PrintHeaderHeaderSpec')检查当前头部。

只需将其附加到您的代码中即可打印标题:

%%change header
hs = getappdata(gcf,'PrintHeaderHeaderSpec');
if isempty(hs)
hs = struct('dateformat','none',...
'string','Test',...
'fontname','Times',...
'fontsize',12,... % in points
'fontweight','normal',...
'fontangle','normal',...
'margin',72); % in points
end

hs.string = 'Your Personal Header';
setappdata(gcf,'PrintHeaderHeaderSpec',hs);

%% print
print(gcf)

您可能还希望以不再需要人工交互的方式更改打印命令。