Matfig2PGF is script that allows users to convert MATLAB figures to PGF <http://sourceforge.net/projects/pgf/>. PGF figures can be included in a LaTeX document using the PGF macro package. The PGF package works with most important LaTeX backends (such as pdfTeX and Dvips). Using Matfig2PGF all text in the figure is typeset by LaTeX, so it blends in nicely with the rest of the document.
- 2D plots
- linear and logarithmic axes
- line styles and plot marks
- resulting pgf file can be used in LaTeX and pdfLaTeX
The current version is 0.3.9
Paul Wagenaars (2021). Matfig2PGF (https://www.mathworks.com/matlabcentral/fileexchange/12962-matfig2pgf), MATLAB Central File Exchange. Retrieved .
Did anyone do the exercise of converting this code to Matlab 2016b? The figure handling has changed pretty radically and get(child_handle,'Type') within handle_all_children often returns different new types, such as 'legend'.
Any suggestions on how to tackle this would be helpful.
Works like a charm! Makes figures in latex look superb.
One little flaw though: When I overlay to axes, one containing an imge with transparency, the output is two PNGs which are all black.
My figures now look gorgeous.
Oh no, my comment is at the wrong position and I don't know how to delete it. Sorry.
I'm running Matlab 18.104.22.1688 (R2007b) on Debian (Lenny) and it just worked out of the box.
A very, very nice contribution! Really wish I had found it earlier.
My only suggestion would be to implement something to check axes titles and legends to escape out LaTeX key characters. For example I have a plot with the title 'Voltage & Current against Time', which errors out when converted to pgf, as it needs to be 'Voltage \& Current against Time'.
One of the best tools I've seen for figure conversion. I also would like to see an update to allow for figure width control from within latex, if it's not to difficult to implement. Capability for 3D plots would also improve this tool.
I wish that it was possible to set the figure width from within the LaTeX document.
I like the name!
Very nice contribution.
A few remarks, though:
* In the subfunction draw_patch, scaled indexed colouring is taken care of for edges, but not for faces. I had to add conversion to direct index to avoid errors.
* In some patch plots the axis grid should be visible above the patch object. As it is now, grid lines disappear.
* Does not recognize image objects and surface objects.
* My Matlab has started closing down without warning when I use this function. Might be a coincidence, though.
Will keep using this, it works brilliantly for ordinary line plots.
Very nice indeed - this must have taken a lot of work. I only wish I discovered this earlier.
Very useful. It would be very nice to have two more features: 1) latex allowed in the tick-labels. 2) multiple axes in the same figure.
Very nice tool!
It would be great if draw_patch could take CData into account if FaceColor=flat.
Excellent Tool - like it
I just want to see this work is awesome! It frees me from touching up Matlab figures or using Gnuplot to get high quality figures. In addition, with more and more LaTeX users using PGF, this work will be appreciated by more people.
Thanks for the excellent work!
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!