matlab2tikz/matlab2​tikz

A script to convert MATLAB/Octave into TikZ figures for easy and consistent inclusion into LaTeX.
119.8K Downloads
Updated 10 Feb 2023

Editor's Note: Popular File 2013 2015 2016 2018 2019 2020

This is matlab2tikz, a MATLAB(R) script for converting MATLAB figures into native TikZ/Pgfplots figures.
matlab2tikz supports the conversion of most MATLAB figures, including 2D and 3D plots. For plots constructed with third- party packages, your mileage may vary.
The workflow is as follows.

a. Place the matlab2tikz scripts (contents of src/ folder) in a directory where MATLAB can find it (the current directory, for example). b. Make sure that your LaTeX installation includes the packages

TikZ (aka PGF, >=2.00) and
Pgfplots (>=1.3).
Generate your plot in MATLAB.

Invoke matlab2tikz by
```
>> matlab2tikz();
```
or
```
>> matlab2tikz('myfile.tex');
```
The script accepts numerous options; check them out by invoking the help,
```
>> help matlab2tikz
```
Sometimes, MATLAB makes it hard to create matching LaTeX plots by keeping invisible objects around or stretches the plots too far beyond the bounding box. Use
```
>> cleanfigure;
>> matlab2tikz('myfile.tex');
```
to first clean the figure of unwanted entities, and then convert it to TeX.

Add the contents of `myfile.tex` into your LaTeX source code; a convenient way of doing so is to use `\input{/path/to/myfile.tex}`. Also make sure that at the header of your document the Pgfplots package is included:
```
\documentclass{article}
\usepackage{pgfplots}
% and optionally (as of Pgfplots 1.3):
\pgfplotsset{compat=newest}
\pgfplotsset{plot coordinates/math parser=false}
\newlength\figureheight
\newlength\figurewidth
\begin{document}
\input{myfile.tex}
\end{document}
```
There are reported incompatibilities with the following LaTeX packages:

signalflowdiagram http://www.texample.net/tikz/examples/signal-flow-building-blocks/ (Check out http://sourceforge.net/tracker/?func=detail&aid=3312653&group_id=224188&atid=1060656.)
If you experience bugs, have nice examples of what matlab2tikz can do, or if you are just looking for more information, please visit the web page of matlab2tikz https://github.com/matlab2tikz/matlab2tikz.

Cite As

Nico Schlömer (2024). matlab2tikz/matlab2tikz (https://github.com/matlab2tikz/matlab2tikz), GitHub. Retrieved .

MATLAB Release Compatibility
Created with R2014b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

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

Start Hunting!

Versions that use the GitHub default branch cannot be downloaded

Version Published Release Notes
1.50.0.0

update description

1.49.0.0

update GitHub repository

1.48.0.0

present the contribution link more prominently

1.47.0.0

add GitHub link

1.46.0.0

update to 0.4.7

1.45.0.0

update to 0.4.6

1.44.0.0

update to 0.4.5

1.43.0.0

update to 0.4.4

1.42.0.0

update to 0.4.3

1.40.0.0

updated logo

1.38.0.0

update to 0.4.2

1.36.0.0

update to 0.4.1

1.35.0.0

update to 0.4.0

1.34.0.0

update to 0.3.3

1.33.0.0

upgrade to 0.3.2 (for real this time)

1.30.0.0

update to 0.3.0

1.0.0.0

the largest update in m2t history; for details, see https://github.com/matlab2tikz/matlab2tikz/blob/master/CHANGELOG.md

To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.