2017-12-04 5 views
1

いくつかの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ファイルに保存されます。私はexampl .emf、.eps、.svg(svgは私が実際に必要とするもの)の代わりに.pdfの代わりに他のファイル形式を使用しようとしましたが、それは常に同じ問題です。データポイントの数を減らすことは、この例では機能しますが、私にとっては一般的ではありません。

オプションや回避策はありますか?

答えて

3

ソリューションはpainter rendererの使用を指定するためにです:

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

あなたはベクトルグラフィックスファイルに保存して、図RendererMode プロパティが'auto'に設定されている場合、自動的に印刷することにしようとした場合ペインタレンダラー を使用してください。出力フォーマット が真のベクタグラフィックスファイルであることを確認したい場合は、ペインタレンダラを指定します。ドキュメントで述べたように、これは長いレンダリング時間をもたらすことが

注:

時には、「-painters」オプションでファイルを保存すると、[...]長い レンダリング時間を引き起こす可能性があります

関連する問題