{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Using `matplotlib` Plots in LaTeX" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[back to overview page](index.ipynb)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "http://matplotlib.org/users/pgf.html\n", "\n", "https://github.com/nschloe/matplotlib2tikz" ] }, { "cell_type": "code", "execution_count": 0, "metadata": { "collapsed": false }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 34, "metadata": { "collapsed": false }, "outputs": [], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "import numpy as np" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "LaTeX installation is necessary (why?)\n", "\n", "TODO: how to *not* specify fonts?" ] }, { "cell_type": "code", "execution_count": 42, "metadata": { "collapsed": false }, "outputs": [], "source": [ "plt.rc('pgf', texsystem='lualatex') # or 'pdflatex' or 'xelatex' (default)" ] }, { "cell_type": "code", "execution_count": 54, "metadata": { "collapsed": false }, "outputs": [], "source": [ "#plt.rc('text.latex', unicode=True)\n", "#plt.rc('text', usetex=True)\n", "\n", "plt.rc('font',\n", " #family='serif',\n", " serif=[],\n", " #sans_serif=[],\n", " monospace=[],\n", " )\n", "\n", "plt.rc('pgf', rcfonts=False)\n", "# \"pgf.preamble\": [\n", "# r\"\\usepackage{siunitx}\", # use additional packages\n", "# r\"\\usepackage{unicode-math}\", # configure math fonts\n", "# r\"\\setmathfont{XITS Math}\",\n", "# r\"\\setmainfont{Gentium}\", # manually setting the main font\n", "# ]\n", "\n", "# 'text.latex.unicode': True,\n", "# font.cursive" ] }, { "cell_type": "code", "execution_count": 55, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nL1jY//lQ2QAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots()\n", "ax.plot([np.pi/2, np.pi, 0])\n", "ax.set_title(r\"An Experiment\")\n", "ax.set_xlabel(r\"not sure what that means: $\\sigma^2 < \\epsilon$\")\n", "ax.set_ylabel(r\"something with $\\pi$\")\n", "ax.set_yticks([0, np.pi/2, np.pi])\n", "ax.set_yticklabels([r\"$0$\", r\"$\\frac{\\pi}{2}$\", r\"$\\pi$\"]);" ] }, { "cell_type": "code", "execution_count": 56, "metadata": { "collapsed": false }, "outputs": [ { "ename": "LatexError", "evalue": "LaTeX returned an error, probably missing font or error in preamble:\nb\"This is LuaTeX, Version beta-0.79.1 (TeX Live 2015/dev/Debian) (rev 4971) \\n restricted \\\\write18 enabled.\\n**LaTeX2e <2014/05/01>\\nBabel <3.9l> and hyphenation patterns for 9 languages loaded.\\n\\n*(/usr/share/texlive/texmf-dist/tex/latex/base/minimal.cls\\nDocument Class: minimal 2001/05/25 Standard LaTeX minimal class\\n)\\n(Please type a command or say `\\\\end')\\n*\\n*(/usr/share/texlive/texmf-dist/tex/latex/fontspec/fontspec.sty\\n(/usr/share/texlive/texmf-dist/tex/latex/l3kernel/expl3.sty\\n(/usr/share/texlive/texmf-dist/tex/latex/l3kernel/expl3-code.tex\\n(/usr/share/texlive/texmf-dist/tex/latex/etex-pkg/etex.sty))\\n(/usr/share/texlive/texmf-dist/tex/latex/l3kernel/l3unicode-data.def)\\n(/usr/share/texlive/texmf-dist/tex/latex/l3kernel/l3pdfmode.def))\\n(/usr/share/texlive/texmf-dist/tex/latex/l3packages/xparse/xparse.sty)\\n\\n! LaTeX Error: File `luaotfload.sty' not found.\\n\\nType X to quit or to proceed,\\nor enter new name. (Default extension: sty)\\n\\nEnter file name: \\n! LaTeX Error: Missing \\\\begin{document}.\\n\\nSee the LaTeX manual or LaTeX Companion for explanation.\\nType H for immediate help.\\n ... \\n \\nl.43 }\\n \\n 224 words of node memory still in use:\\n 2 hlist, 33 glue_spec, 1 temp, 1 if_stack, 1 local_par, 1 dir nodes\\n avail lists: 2:10,3:1,4:1,6:1\\n! ==> Fatal error occurred, no output PDF file produced!\\nTranscript written on texput.log.\\n\"", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mLatexError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mfig\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msavefig\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'matplotlib_plot.pgf'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;32m/usr/lib/python3/dist-packages/matplotlib/figure.py\u001b[0m in \u001b[0;36msavefig\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1468\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mset_frameon\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mframeon\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1469\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1470\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcanvas\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mprint_figure\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1471\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1472\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mframeon\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/lib/python3/dist-packages/matplotlib/backend_bases.py\u001b[0m in \u001b[0;36mprint_figure\u001b[0;34m(self, filename, dpi, facecolor, edgecolor, orientation, format, **kwargs)\u001b[0m\n\u001b[1;32m 2192\u001b[0m \u001b[0morientation\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0morientation\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2193\u001b[0m \u001b[0mbbox_inches_restore\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0m_bbox_inches_restore\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2194\u001b[0;31m **kwargs)\n\u001b[0m\u001b[1;32m 2195\u001b[0m \u001b[0;32mfinally\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2196\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mbbox_inches\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0mrestore_bbox\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/lib/python3/dist-packages/matplotlib/backends/backend_pgf.py\u001b[0m in \u001b[0;36mprint_pgf\u001b[0;34m(self, fname_or_fh, *args, **kwargs)\u001b[0m\n\u001b[1;32m 833\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mis_string_like\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfname_or_fh\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 834\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mcodecs\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfname_or_fh\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"w\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mencoding\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"utf-8\"\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mfh\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 835\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_print_pgf_to_fh\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfh\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 836\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0mis_writable_file_like\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfname_or_fh\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 837\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mos\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mexists\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfname_or_fh\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/lib/python3/dist-packages/matplotlib/backends/backend_pgf.py\u001b[0m in \u001b[0;36m_print_pgf_to_fh\u001b[0;34m(self, fh, *args, **kwargs)\u001b[0m\n\u001b[1;32m 812\u001b[0m \u001b[0m_bbox_inches_restore\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpop\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"bbox_inches_restore\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 813\u001b[0m renderer = MixedModeRenderer(self.figure, w, h, dpi,\n\u001b[0;32m--> 814\u001b[0;31m \u001b[0mRendererPgf\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfigure\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfh\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 815\u001b[0m bbox_inches_restore=_bbox_inches_restore)\n\u001b[1;32m 816\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfigure\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdraw\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrenderer\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/lib/python3/dist-packages/matplotlib/backends/backend_pgf.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, figure, fh, dummy)\u001b[0m\n\u001b[1;32m 420\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 421\u001b[0m \u001b[0;31m# get LatexManager instance\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 422\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlatexManager\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mLatexManagerFactory\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_latex_manager\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 423\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 424\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mdummy\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/lib/python3/dist-packages/matplotlib/backends/backend_pgf.py\u001b[0m in \u001b[0;36mget_latex_manager\u001b[0;34m()\u001b[0m\n\u001b[1;32m 230\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mrcParams\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"pgf.debug\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;32mFalse\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 231\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"creating LatexManager\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 232\u001b[0;31m \u001b[0mnew_inst\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mLatexManager\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 233\u001b[0m \u001b[0mLatexManagerFactory\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mprevious_instance\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnew_inst\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 234\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mnew_inst\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/lib/python3/dist-packages/matplotlib/backends/backend_pgf.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 320\u001b[0m \u001b[0mstdout\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstderr\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mlatex\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcommunicate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtest_input\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mencode\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"utf-8\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 321\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mlatex\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mreturncode\u001b[0m \u001b[0;34m!=\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 322\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mLatexError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"LaTeX returned an error, probably missing font or error in preamble:\\n%s\"\u001b[0m \u001b[0;34m%\u001b[0m \u001b[0mstdout\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 323\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 324\u001b[0m \u001b[0;31m# open LaTeX process for real work\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mLatexError\u001b[0m: LaTeX returned an error, probably missing font or error in preamble:\nb\"This is LuaTeX, Version beta-0.79.1 (TeX Live 2015/dev/Debian) (rev 4971) \\n restricted \\\\write18 enabled.\\n**LaTeX2e <2014/05/01>\\nBabel <3.9l> and hyphenation patterns for 9 languages loaded.\\n\\n*(/usr/share/texlive/texmf-dist/tex/latex/base/minimal.cls\\nDocument Class: minimal 2001/05/25 Standard LaTeX minimal class\\n)\\n(Please type a command or say `\\\\end')\\n*\\n*(/usr/share/texlive/texmf-dist/tex/latex/fontspec/fontspec.sty\\n(/usr/share/texlive/texmf-dist/tex/latex/l3kernel/expl3.sty\\n(/usr/share/texlive/texmf-dist/tex/latex/l3kernel/expl3-code.tex\\n(/usr/share/texlive/texmf-dist/tex/latex/etex-pkg/etex.sty))\\n(/usr/share/texlive/texmf-dist/tex/latex/l3kernel/l3unicode-data.def)\\n(/usr/share/texlive/texmf-dist/tex/latex/l3kernel/l3pdfmode.def))\\n(/usr/share/texlive/texmf-dist/tex/latex/l3packages/xparse/xparse.sty)\\n\\n! LaTeX Error: File `luaotfload.sty' not found.\\n\\nType X to quit or to proceed,\\nor enter new name. (Default extension: sty)\\n\\nEnter file name: \\n! LaTeX Error: Missing \\\\begin{document}.\\n\\nSee the LaTeX manual or LaTeX Companion for explanation.\\nType H for immediate help.\\n ... \\n \\nl.43 }\\n \\n 224 words of node memory still in use:\\n 2 hlist, 33 glue_spec, 1 temp, 1 if_stack, 1 local_par, 1 dir nodes\\n avail lists: 2:10,3:1,4:1,6:1\\n! ==> Fatal error occurred, no output PDF file produced!\\nTranscript written on texput.log.\\n\"" ] } ], "source": [ "fig.savefig('matplotlib_plot.pgf')" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "#You must select the correct size of the plot in advance\n", "fig.set_size_inches(3.54,3.54)\n", "plt.savefig(\"graph.pdf\", \n", " #This is simple recomendation for publication plots\n", " dpi=1000, \n", " # Plot will be occupy a maximum of available space\n", " bbox_inches='tight', \n", " )" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# \\InputIfFileExists{filename.pgf}{success text}{failure text}" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

\n", " \n", " \"CC0\"\n", " \n", "
\n", " To the extent possible under law,\n", " \n", " Matthias Geier\n", " has waived all copyright and related or neighboring rights to\n", " this work.\n", "

" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.4.3+" } }, "nbformat": 4, "nbformat_minor": 0 }