[英]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.