Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 其它 > 资料存档
资料存档 资料存档
回复
 
主题工具 显示模式
旧 2019-12-10, 20:30   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 保存的EPS图像与打印的图表不同

我正在matlab中创建一些图,然后将其另存为EPS图像。

重要的是,我创建了4张图像的集合,从第一张图像中获取'YLim'值,然后将其设置为其他3张图像。我这样做是为了对集合中的每个图像强制使用相同的Y轴限制。

因此,对于第一个图像,我创建了一些图形,在其上绘制了一些图形,并采用了YLim属性:

f = figure('position', [50, 70, 900, 700], 'Units', 'normalized'); p = plot(s+n, 'k'); set(gca, 'XLim', [0, 2048]); set(gca, 'XTick', 200:400:1800); ylim = get(gca, 'YLim'); saveas(gcf, 'some_name', 'epsc'); 然后,对于接下来的3张图像,我还创建了该图,绘制了一些东西,并设置了所有需要的属性:

f = figure('position', [50, 70, 900, 700], 'Units', 'normalized'); p = plot(s, 'k'); set(gca, 'XLim', [0, 2048]); set(gca, 'XTick', 200:400:1800); set(gca, 'YLim', ylim) saveas(gcf, 'some_other_name', 'epsc'); 现在,奇怪的是。 Matlab正确显示这些图像,并且所有图像均具有相同的Y轴限制(例如-10:60)

但是保存的EPS文件具有不同的限制,例如,第一个具有-10:60,而第二个具有-20:60。因此,换句话说,保存的EPS文件与显示的图表不完全相同。

我究竟做错了什么?



回答:

我只是复制/粘贴了定义为rand(2048,1) s和n代码,发现保存的EPS文件没有任何问题。两者的y范围均为[0,2] ...

首先请确保仔细检查您的实际代码,然后也许可以尝试将PaperPositionMode属性设置为auto :

set(gcf, 'PaperPositionMode', 'auto') 启用所见即所得的图形打印。

PS:看来您正在使用数字的像素位置,这与指定的“标准化”单位相矛盾,但这与您的问题无关。



更多&回答...
poster 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛禁用 表情符号
论坛启用 [IMG] 代码
论坛启用 HTML 代码



所有时间均为北京时间。现在的时间是 01:16


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.