Home

Awesome

Fixing Matlab Vector Graphics Output

Clean/Repair .eps PostScript vector graphic files created by Matlab R2016b and Matlab R2017a. (Not working with R2017b and later versions (yet)).

Related

Example

Here is an example of what the .eps file looks before and after fixing it:

%%% Matlab Code
z = peaks;
contourf(z);
print(gcf,'-depsc','-painters','out.eps');
epsclean('out.eps'); % cleans and overwrites the input file

Before and After Layer count in Adobe Illustrator: 789 (before) vs. 30 (after)

Another Example

%%% Matlab Code
[X,Y,Z] = peaks(100);
[~,ch] = contourf(X,Y,Z);
ch.LineStyle = 'none';
ch.LevelStep = ch.LevelStep/10;
colormap('hot')
saveas(gcf, 'out.eps', 'epsc');
epsclean('out.eps'); % cleans and overwrites the input file

Before and After Layer count in Adobe Illustrator: 11,775 (before) vs. 76 (after)

Notes

%%% Matlab Code
epsclean('out.eps','groupSoft',true);
%%% Matlab Code
epsclean('out.eps','closeGaps',true);