我在matlab中创建了一些图,然后将其保存为EPS图像。已保存的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文件与显示的图表不完全相同。
我在做什么错?
ylim是内置函数的名称。我不会推荐使用它作为变量名称。例如,您也可以使用ylim([0 1])设置轴限制。 – yuk 2010-02-17 17:03:59
你有与其他格式相同的问题吗?哪个操作系统,Matlab版本? – yuk 2010-02-17 17:23:17
不,其他格式(例如PNG)正确生成。 我在win xp下使用Matlab 6.5(R13)。 – Gacek 2010-02-17 17:35:03