![]() |
保存的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文件与显示的图表不完全相同。 我究竟做错了什么? [B]回答:[/B] 我只是复制/粘贴了定义为rand(2048,1) s和n代码,发现保存的EPS文件没有任何问题。两者的y范围均为[0,2] ... 首先请确保仔细检查您的实际代码,然后也许可以尝试将[URL="https://www.mathworks.com/help/matlab/ref/figure-properties.html#property_d0e277802"]PaperPositionMode[/URL]属性设置为auto : set(gcf, 'PaperPositionMode', 'auto') 启用所见即所得的图形打印。 PS:看来您正在使用数字的像素位置,这与指定的“标准化”单位相矛盾,但这与您的问题无关。 [url=https://stackoverflow.com/questions/2280528]更多&回答...[/url] |
所有时间均为北京时间。现在的时间是 07:05。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.