poster
2019-12-10, 20:30
我正在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 (https://www.mathworks.com/help/matlab/ref/figure-properties.html#property_d0e277802)属性设置为auto :
set(gcf, 'PaperPositionMode', 'auto') 启用所见即所得的图形打印。
PS:看来您正在使用数字的像素位置,这与指定的“标准化”单位相矛盾,但这与您的问题无关。
更多&回答... (https://stackoverflow.com/questions/2280528)
重要的是,我创建了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 (https://www.mathworks.com/help/matlab/ref/figure-properties.html#property_d0e277802)属性设置为auto :
set(gcf, 'PaperPositionMode', 'auto') 启用所见即所得的图形打印。
PS:看来您正在使用数字的像素位置,这与指定的“标准化”单位相矛盾,但这与您的问题无关。
更多&回答... (https://stackoverflow.com/questions/2280528)