MATLAB Answers

Importing MATLAB Figures into Latex

279 views (last 30 days)
I have a Matlab figure and I want to import it to latex. My code is
>> plot3(Pa,Pb,Profit,'x') >> print -deps graph1
Then I copy and paste the eps file to my latex file and use this code.
\begin{figure}
\centering
\includegraphics{graph1}
\caption{}
\end{figure}
Error: Unknown graphics extension.
Does anyone know how to import Matlab figures into Latex?
Thanks
  2 Comments
Sanket Bhagat
Sanket Bhagat on 11 Oct 2017
still same problem sir?? what to do?

Sign in to comment.

Accepted Answer

Stephen
Stephen on 19 Jan 2015
You are probably not actually compiling using LaTeX, but more likely you are using pdfLaTeX, which is much more commonly used these days to create PDF's directly from the .tex files. True LaTeX (like TeX that it is based on) creates .dvi files, not PDF's.
This difference is important as the different compilation engines support different image formats. The best way is to check the documentation for the exact compilation engine that you are using. In the case of pdfLaTeX compilation (the most popular today), EPS files are not supported.
The WikiBooks website is a good source of info on LaTeX:
https://en.wikibooks.org/wiki/LaTeX/Importing_Graphics
In particular, it says this:
Compiling with latex
  • The only format you can include while compiling with latex is Encapsulated PostScript (EPS).
Compiling with pdflatex
If you are compiling with pdflatex to produce a PDF, you have a wider choice. You can insert:
  • JPG, widely used on Internet, digital cameras, etc. They are the best choice if you want to insert photos.
  • PNG, a very common format (even if not as much as JPG); it's a lossless format and it's the best choice for diagrams (if you were not able to generate a vector version) and screenshots.
  • PDF, it is widely used for documents but can be used to store images as well. It supports both vector and bit-map images, but it's not recommended for the latter, as JPG or PNG will provide the same result using less disk space.
It goes on to give state that you can use EPS with pdfLaTeX, but only with the help of some other tools or some intermediate processing
  • EPS can be used with the help of the epstopdf package.
The WikiBooks website will give a good intro on how to do this.

More Answers (2)

Chad Greene
Chad Greene on 18 Jan 2015
Instead of print I tend to use export_fig to export a very nice looking pdf. \includgraphics handles pdfs well.
  3 Comments
Chad Greene
Chad Greene on 19 Jan 2015
I am guessing you put export_fig somewhere that Matlab can't find it. And pdfs in LaTeX should be no problem with \usepackage{graphicx} in the header.

Sign in to comment.


Youssef  Khmou
Youssef Khmou on 19 Jan 2015
Besides the explained proposition above, try to specify the extension in the source File :
\usepackage{graphicx}
\usepackage{epstopdf}
% other Tex instructions {Document ....}
\begin{figure}
\centering
\includegraphics{graph1.eps}
\caption{....}
\end{figure}
  1 Comment
Muhammad Salman Bashir
Muhammad Salman Bashir on 5 Dec 2019
but my graph shape is black i want it in colours these graph..is this possible with these graphs????

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!