No License

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

» Watch video

Highlights from
Fix dashed and dotted lines in EPS export

5.0 | 9 ratings Rate this file 22 Downloads (last 30 days) File Size: 747 Bytes File ID: #15743 Version: 1.0
image thumbnail

Fix dashed and dotted lines in EPS export


Daniel (view profile)


30 Jul 2007 (Updated )

EPS of dashed and dotted lines export badly. This modifies the EPS file to fix them.

| Watch this File

File Information

I was very frustrated at not being able to export dashed and dotted lines in EPS format, as they come out weird. Finally I found a post somewhere on the internet that suggested editing a certain part of the EPS file to fix it. This is a function which, given the name of the EPS file, will modify the length of the 'dot', making it look better in the image.

I've found it useful to automatically add this function to my standard 'save figure' script, so it is always run.

In EPS file:
/DO { [.5 dpi2point mul 4 dpi2point mul] 0 setdash } bdef

It seems the optimal numbers to go in the EPS file depend on the thickness of the line being drawn. This code changes only the .5 which corresponds to the length of the 'dot'. The number 4 controls the space between the dots. Setting both equal to 1 seems to work well with a Matlab line thickness of 1.5.


This file inspired Export Fig.

MATLAB release MATLAB 7.4 (R2007a)
Other requirements Should work on all platforms, but only tested on a mac.
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (15)
09 Jan 2017 Francisco Camargo

Works right away in Matlab 2016b!

13 Jun 2016 Xinfu Liu

Thanks! It makes the outputs look much much better. I found that the grid lines are also lengthened. Is is possible to make any change in the code so that the grid lines are intact?

Comment only
09 Oct 2015 Steve Eddins

Steve Eddins (view profile)

If you are using this submission, you might want to see if you think it is still needed with MATLAB R2014b or later. EPS output for dashed and dotted lines has been improved in those releases.

Comment only
22 Feb 2015 Marketa Tomkova

31 Jan 2014 Jeremy

Jeremy (view profile)

Thanks! Similar to other FEX fixes I've tried, but I like the spacing between dashes and dots with this fix.

30 Aug 2012 Ansgar Schmidt-Bleker

Thank you so much!
Still I don't understand why such bugs are not corrected by Matlab right away. Using Matlab for publications is always horrible!

Comment only
03 Jul 2012 Natan

Natan (view profile)

works great thanks!

15 Jul 2011 Martijn Henriquez

25 Sep 2010 Gianluca Gatti

hi, does anyone know why I can't see dashed or dotted lines in matlab figures when using plot3?

Comment only
17 Dec 2009 Cesare

Cesare (view profile)


10 Apr 2009 Oliver Woodford

See fix_lines ( for an equivalent function which automatically changes dash length according to line width.

Comment only
12 Dec 2008 Oliver Woodford

This is a great idea. I haven't downloaded the file because I found the functionality first in fixPSlinestyle. However, you gave me the idea of automatically changing dash length with line width. This functionality is now available in my print_pdf and print_eps functions, so manual tinkering on a figure by figure basis is no longer needed.

Comment only
05 Jul 2008 Klaas van 't Veld

Outstanding fix of a very annoying problem. I modified the script a bit to make it more flexible, adding arguments "dotlen" and "dotgap"

function fix_dottedline(filename,dotlen,gaplen)

adding these lines at the top

dotstr = ['[' num2str(dotlen)];
gapstr = ['mul ' num2str(gaplen)];

and changing the replacement operations (for both the DO and DD lines) to

thisLine = regexprep(thisLine,'[.5',dotstr);
thisLine = regexprep(thisLine,'mul 4',gapstr);

That way you can play around with dot lengths and gap lengths until everything is just perfect.

26 Apr 2008 Rich Germuska

Nice one.

For those still using legacy versions e.g. 6.0 release 12, just replace strfind() with findstr() as appropriate.

Works nicely on WinXP Pro.

09 Apr 2008 Ronco Badsmith

This is a great fix. Thanks for the upload!

Contact us