Produce publication-quality figures in Matlab

Note: I have moved my blog to my personal site. The most updated version of this post can be found here.

If you want to export Simulink models to figures to be included in publications, check out this post of mine.

Matlab is a very useful and popular tools among engineers and researches. One of the many reasons is that it is easy and quick to produce figures in Matlab, using a wide variety of plotting functions and toolboxes. However, these figures, and their exported graphics, often lack publication-quality (the ones that you usually find in highly-respected scientific publications). It requires some tricks to make figures in Matlab more pretty and meet the high standard, as I found in this blog post. In summary:

Figures containing lines

This is the most common type of figures produced in Matlab, using functions like plot. The author suggested the following setting for these figures:

  • Size: width = 448 pts, height = 336 pts, expand axes to fill figures.
  • Rendering: set white background color, renderer: painter (vector format), resolution: 300 dpi, keep axis limits, show unicontrols. Note: resolution does not need to be set higher because the figure is in vector format.
  • Fonts: use fixed font size = 16 pts, font Helvetica bold.
  • Lines: fixed width = 2.5 pts.

Always save the figures as EPS files (unless you are on Windows and you want to embed the images in MS Office documents, then you should use the EMF/WMF format). If you want PDF images (e.g., to use with pdflatex), you should convert the resulted EPS files to PDF format (using epspdf for example) instead of exporting the figures to PDF files directly, because the latter method would produce PDF images of the wrong size.

Figures containing (bitmap) images

The suggested setting for this type of figures is:

  • Size: width = 448 pts, height = 336 pts, expand axes to fill figures.
  • Rendering: set white background color, renderer: OpenGL (bitmap format), resolution: auto, keep axis limits, show unicontrols. Note: resolution does matter in this case.
  • Fonts: use fixed font size = 16 pts, font Helvetica bold.
  • Lines: fixed width = 2.5 pts.

For this type of figures, PDF files work better than EPS files. I think TIFF files may work well too.

For convenience, these settings can be preset in Matlab as following:

  • Create any figure in Matlab.
  • In the figure window, select menu File/Export Setup…
  • Set the parameters for line-based figures as suggested above, then in the lower half of the dialog window, entitled “Export Styles,” enter a name (e.g., “Line-based”) and click Save.
  • Repeat the process for image-based figures, name the style appropriately (e.g., “Image-based”).
  • Anytime you want to export a figure, select menu File/Export Setup… and load the appropriate export style, then click Export… to save the figure to a file.
Advertisements
This entry was posted in LaTeX, Matlab, Research and tagged , , . Bookmark the permalink.

2 Responses to Produce publication-quality figures in Matlab

  1. Pingback: More on publication-quality graphics in Matlab « Truong's Weblog

  2. Pingback: Export Simulink models to publication-quality figures « Truong's Weblog

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s