low quality figure problem when saving as svg or pdf ( using fill function)
186 ビュー (過去 30 日間)
古いコメントを表示
Hello,
I tried to look through this problem but couldn't find a solution, maybe I am missing something.
The problem happens when creating a figure with "fill" function. When the inputs are small matrices there is no problem and I can get high res images both in svg and pdf format however when bigger matrices are used image gets pixelated and blurry.
A simple example is as follows:
x=rand(10,10);
y=rand(10,10);
z=rand(10,10);
figure,axis equal,
fill(x,y,z)
x1=rand(50,50);
y1=rand(50,50);
z1=rand(50,50);
figure,axis equal,
fill(x1,y1,z1)
When saving those figures in svg or pdf format I get this problem. The figure created using 50x50 matrix becomes low quality.
Did anyone come upon this problem? I would appreciate if somebody points methe right direction.
0 件のコメント
採用された回答
Anton Kogios
2023 年 3 月 7 日
This issue occurs when the figure is quite complex, like your second one. One solution is to force a vectorised export by going to, in your figure window, File > Export Setup... > Rendering (under Properties) > select 'Custom renderer' and 'painters (vector format)' from the dropdown list > Export > save it as svg or pdf as you wish.
NB: it may take a while to generate, and the background colour to the figure window will turn white while it is doing so.
2 件のコメント
Doaa Mahmoud
2023 年 9 月 25 日
Thank you so much for your comment; it really helped me with that problem. I searched for a long time, but your answer saved me. Thank you so much.
その他の回答 (1 件)
David Hill
2023 年 3 月 7 日
How is the quality different? My saved pdf looks just the same.
x=rand(10,10);
y=rand(10,10);
z=rand(10,10);
figure,axis equal,
fill(x,y,z)
x1=rand(50,50);
y1=rand(50,50);
z1=rand(50,50);
figure,axis equal,
fill(x1,y1,z1)
saveas(gcf,'myfigure.pdf');
3 件のコメント
参考
カテゴリ
Help Center および File Exchange で Printing and Saving についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!