File Exchange

image thumbnail


version (2.17 KB) by

Fixes line styles in postscript files created from MATLAB® (PRINT command)



View License

FIXPSLINESTYLE: Fix line styles in exported post script files
FIXPSLINESTYLE(FILENAME) fixes the line styles in the postscript file FILENAME. The file will be over-written. This takes a .PS or .EPS file and fixes the dotted and dashed line styles to be a little bit more esthetically pleasing. It fixes the four default line styles (line, dotted, dashed, dashdot).
This is meant to be used with postscript files created by MATLAB (print, export).
  x = 1:.1:10;
  y1 = sin(x);
  y2 = cos(x);
  h = plot(x, y1, '--', x, y2, '-.');
  set(h, 'LineWidth', 2);
  grid on;
  legend('line 1', 'line2');

  print -depsc test.eps

Comments and Ratings (12)

Nihad Ali

great! works perfectly.

neo svr

I think this submission has become redundant 2014b onwards. Matlab has changed the way they used to write eps files. For older versions, it is still useful, I used it for many years.


Alex (view profile)

i have issues with matlab 2015 as well


marie (view profile)

i have been using this function for years and it worked GREAT both on Matlab for Windows and MAC. However with my new installation (Windows 8/ Matlab 2015a), the function corrupts the eps file (reduces file size to almost 0 and cannot be opened by Adobe or, when transferring to MAC, Preview). It does not print any warning or error message though.

This problem has also been reported there:

Can anyone reproduce this behavior? (to help fin the cause, and hopefully fix it!) thanks.


Jeremy (view profile)

I've been looking for a good fix that works nicely with the default plotting commands. Thanks so much! Is there any way to increase the separation between dashes just a little bit?

Jirka Dostal

Jiro Doke

Jiro Doke (view profile)

Thanks for the feedback, Oliver. I'm glad to hear this inspired you to improve your own function. BTW, your print_pdf function is nice. It seems like you figured out a ways to make the grid lines separate from dashed lines.

Oliver Woodford

This is a great idea, and one that inspired me to improve my own pdf rendering function, print_pdf. I've managed to get dash lengths to vary with line widths too, and make grid lines dotted rather than dashed. Thanks for the inspiration, Jiro!

Jiro Doke

Thanks for your comments. I looked at the PS file and found out a way to not alter the grid. But I haven't figured out how to automate it. You can define another line style, and find out where the grid lines are defined. The issue is that the grid lines are simply defined like any other lines, so it's not straightforward to identify them.

K Hamed,
I'm not sure if it's the "recommended" way (I'm not an expert on Postscript), but "1 cap" or "1 setlinecap" creates a rounded end.

K Hamed

A trick I learned a long time ago from a friend is to replace the line: "0 cap" in the postscript file with "1 cap". This makes the edges of the lines rounder, which gives thick lines a nicer look, and also make dots round. Is this recommended or are there any side effects?

Eric Magee

This is very nice - I have always wished there was more control over the details of the line styles - guess we just have to mess with the PS file. Would there be any way of not "fixing" the line style of the grid?


Updated license


Copyright update.

MATLAB Release
MATLAB 7.4 (R2007a)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video