Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

MATLAB figure in LATEX

  1. Mar 6, 2012 #1
    I have a MATLAB figure I want to put in a document. I'm using MikTex and Texmaker. However in the past half hour I have not been able to get this to work using any format and I tried everything I found on google. If I try to use .eps/.pdf file, all the axis labels disappear. And .jpg is ugly. I don't know what else to try. Anyone know how to do this?
  2. jcsd
  3. Mar 7, 2012 #2


    User Avatar
    Science Advisor

    Hey Curl.

    I did a quick google and got this:


    It mentions at the very bottom of the page that you need to specify information that corresponds to the bounding box that is used for the image.

    Maybe this is why your axis are getting cut off. Perhaps you could change the bounding box information so that your axis are not cropped out?
  4. Mar 7, 2012 #3
    Wow i tried it with TeXworks and it works. Any reason why it doesn't work with Texmaker? I'm using the same compiler (PDFLaTeX) on both apparently. Weird.
  5. Mar 7, 2012 #4
    I had trouble using .jpg images, so I started saving my MATLAB plots as .png and everything worked fine. :)
  6. Mar 8, 2012 #5
    PNG is ugly unless you are looking at the picture at 100%.
  7. Mar 9, 2012 #6
    You want to keep the figure in a vector base format, such as eps.

    When making figures with matlab for use in papers for example, I often use an image program as a middle step for formatting the figure. Adobe Illustrator works, but it costs money. A free open source program that also works pretty well is Inkscape, which is designed to deal with vector based graphics.

    The typical procedure would be to save the matlab figure as eps, then use the import option in Inkscape. This allows you to ungroup the components in the matlab graph and format it as you wish, for example changing fonts or lineshapes/colors. Then save it as eps, just remember to set the boundry box to fit the image components.

    Hope that helps.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook