MATLAB Answers


Figure Export - axes always duplicated

Asked by Sanjay Manohar on 20 Apr 2013

Whenever I export a figure in a vector format, or copy a figure and paste as a vector format, I get multiple copies of the axis -- all overlain on one another. In particular I often have

 * a rectangle that's filled in
 * a rectangle that's outline only
 * a pair of horizontal and vertical lines 
 * additionally several copies of the border lines, all as separate lines.

To solve it, each time I use the figure I have to ungroup it, separate out the various lines and boxes surrounding the figure, delete the unnecessary copies, and group it together again. The problem is that, on any renderer that uses antialiasing, I get varying colours and thicknesses for multiple lines. I generally want control over the corner/mitres, so I keep only the rectangular frame and remove all the useless floating line segments.

I must be doing something wrong when creating the graph? Is there a way to make there be only one set of axes? I've tried the export_fig script which is great but doesn't help with this frustrating problem.


the cyclist
on 20 Apr 2013

Can you post a simple script that illustrates the problem?

OK a simple script

    plot([1 2 3]);
    print -deps test.eps

then open it in any vector program e.g. Inkscape.

If you zoom in on the corners of the axes, there is no mitre, the left and bottom edges are composed of three identical lines overlaid, and there are extra floating 'axis-ticks' at the ends, overlaying the corners. Really painful to rehash this each time for real printing! To make a presentable figure I have to delete the whole axes and draw them on manually.


0 Answers

Join the 15-year community celebration.

Play games and win prizes!

Learn more
Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!