gpt4 book ai didi

matlab - 打印时如何停止 MATLAB 剪裁图形的标题

转载 作者:行者123 更新时间:2023-12-04 06:24:33 24 4
gpt4 key购买 nike

当我用 MATLAB 创建一个带有标题的图,然后使用文件|打印选项打印图时,标题被剪掉了。请尝试使用此代码作为示例

t = linspace(0,2*pi,1000);
s = sin(t);
figure
plot(t,s)
titleString = sprintf('Multi\nLine\nTitle');
title(titleString)
disp('Now press File|Print Preview on the figure and observe that the title is clipped.')
disp('This happens with all titles, the multi line title makes it more obvious.')
disp('I know I can fix it with Fill Page or Center, but I should not have too.')

您还可以在打印预览中看到问题。正如我在示例代码中所说,我知道我可以使用打印预览然后填充页面或居中来解决这个问题,但我不希望使用我的代码的人不得不使用变通方法。

我在 r2014a 和 r2015b 上观察到这个问题。我假设其他版本也会受到影响。

在创建使绘图居中或填充页面并使问题消失的图形之前,我是否可以进行设置?我应该做一些其他设置来避免这个问题吗?

这里有更多的调试信息。如果我按文件|打印预览,MATLAB 报告左 0.64,上 -0.59,宽 20.32,高 15.24。我猜这个问题与负 Top 值有关。这些是 MATLAB 的默认值;我没有尝试更改这些值。

还有一点。我在英国,所以我的默认纸张/打印机设置将适用于 A4 纸,如果有差异的话。

编辑:

看起来我的问题是由程序中的两行引起的:

set(0,'DefaultFigurePaperOrientation','landscape')
set(0,'DefaultFigurePaperType','A4')

我认为因为情节应该以纵向方向出现在纸上,所以我看到了这些问题。

也许我应该将我的问题修改为:我需要更改 MATLAB 图形中的哪些内容,以便它们在横向 A4 纸上正确打印(最好在中心,缩放以填满页面,但方向正确)。所有这一切都无需使用打印预览。

但我打算这样做来解决我的问题。

set(0,'DefaultFigurePaperOrientation','portrait')
set(0,'DefaultFigurePaperType','A4')

最佳答案

我似乎无法在我当前使用的计算机上重现您的问题(查看我默认获得的值 - 顶部是 8.11):

enter image description here


但是,如果您的问题与我认为的一样(我正在使用的另一台计算机上得到符合此描述的内容),请尝试在末尾添加 _{ }你的字符串。这是一个 TeX 字符串,意思是“下标空间”,它将文本的其余部分稍微向上推。如果剪裁是从顶部发生的,您还可以在第一行使用 ^{ }。我发现此解决方法也适用于轴标题和标签。

夸大其词,解决方法如下所示:

titleString = sprintf('^{^{^{^{^{^{ }}}}}}Multi\nLine\nTitle');

即使 Top = -0.59 也显示单词“Multi”。

如果以上不是您要查找的内容,您可能需要查看功能强大的 export_fig .

关于matlab - 打印时如何停止 MATLAB 剪裁图形的标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34263806/

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