簡體   English   中英

導出到矢量圖形會因大量數據點而失敗

[英]Export to vector graphics fails with large number of data-points

我想將一些MATLAB圖導出為矢量圖形用於演示。 在大多數情況下,使用print -command,例如:

set(0,'defaultAxesTickLabelInterpreter','Latex')
set(0,'defaultTextInterpreter','Latex')

t=linspace(0,6,6000);
s=sin(t);

figure
for spl=1:16
    subplot(4,4,spl);
    plot(t,s,'k')
end

print('Sinetest','-dpdf');

但是一旦數據點的數量(或預期的文件大小)變得太大,例如使用t=linspace(0,6,7000); 該方法失敗:在.pdf文件中保存一個丑陋的像素怪物,而不是可縮放的矢量圖形。 我試圖使用其他文件格式,例如.emf,.eps,.svg(svg是我實際需要的)而不是.pdf,但它總是同樣的問題。 在這個例子中減少數據點的數量是有效的,但對我來說並不常見。

有沒有選擇或解決方法?

解決方案是指定應該使用painter渲染器

print('Sinetest','-dpdf', '-painters');

如果保存到矢量圖形文件,並且圖形RendererMode屬性設置為'auto' ,則print會自動嘗試使用Painters渲染器。 如果要確保輸出格式是真正的矢量圖形文件,請指定Painters渲染器。

請注意,這可能會導致文檔中提到的渲染時間過長:

有時,使用'-painters'選項保存文件會導致渲染時間延長[...]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM