我在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