{ "metadata": { "name": "", "signature": "sha256:c32636c565b35d4c3b0b539c7bdf0b349b0f727c1b0006e50b5c61d9549d3c48" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "En los \u00faltimos tiempos he estado leyendo en m\u00faltiples sitios que mmatplotlib es feo, que se ve viejuno, que la librer\u00eda *[ponga usted aqu\u00ed la librer\u00eda chachiguay que desee]* es 'm\u00e1s mejor', que es una biblioteca muy pesada,..., pero nunca he le\u00eddo una argumentaci\u00f3n para refutar esas quejas." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Hoy me voy a centrar en la primera queja que he indicado m\u00e1s arriba." ] }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "\u00bfEs matplotlib feo?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Cuando se inici\u00f3 el desarrollo de matplotlib el entorno de trabajo era muy diferente al actual. Se hac\u00edan gr\u00e1ficas est\u00e1ticas 2D para ser publicadas en revistas o en la web de hace 10 o m\u00e1s a\u00f1os (ha cambiado un poco el panorama desde entonces). Se inici\u00f3 para ser una alternativa libre a Matlab y es por ello que su API y apariencia es muy parecida a la que ofrece Matlab. De esta forma matplotlib hace gr\u00e1ficos que, de base, son simples y pensados para ser publicados en cualquier sitio sin necesidad de mucha modificaci\u00f3n.\n", "\n", "A pesar de ofrecer gr\u00e1ficos aceptables de partida (en mi modesta opini\u00f3n, por supuesto), desde tiempos inmemoriales se puede acceder a la configuraci\u00f3n de base y modificarla para el gusto de cada cual. En la versi\u00f3n m\u00e1s antigua que figura en github (0.91.3) pod\u00e9is encontrar que [`rcParams` ya est\u00e1 por ah\u00ed](https://github.com/matplotlib/matplotlib/blob/v0.91.2/lib/matplotlib/__init__.py#L42) (fichero modificado por \u00faltima vez en 2007). El que hubiera querido [modificar algo de la configuraci\u00f3n b\u00e1sica que trae matplotlib lo podr\u00eda haber hecho sin mucho esfuerzo](http://matplotlib.org/users/customizing.html) y hubiera tardado menos que el perdido en escribir una queja por alguna lista de correo, entrada en alg\u00fan blog, comentario en reddit,...(\\*) \n", "\n", "(\\*) *Ahora con twitter puede que sea m\u00e1s r\u00e1pido lanzar la queja que modificar eso que tanto te molesta pero seguir\u00e1 sin haber argumentaci\u00f3n, gracias twitter!!*" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "\u00bfModificar matplotlib a mi gusto?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Siempre ha sido relativamente sencillo, de hecho, en su momento desde Pybonacci creamos un repositorio con algo de c\u00f3digo que te [ofrec\u00eda una serie de decoradores para conseguir nuevos estilos de forma sencilla](http://nbviewer.ipython.org/github/Pybonacci/mpl_styles/blob/master/mpl_styles-examples_of_use.ipynb)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Pero desde la versi\u00f3n 1.4 tenemos disponible el [paquete `styles`](http://matplotlib.org/users/whats_new.html#style-package-added) que permite cambiar de estilos f\u00e1cilmente y que trae algunos estilos por defecto. Veamos un poco como funciona todo esto:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Primero de todo hacemos todo el previo de imports y mostrar versiones y dem\u00e1s para que el que quiera pueda reproducir los ejemplos sin problemas." ] }, { "cell_type": "code", "collapsed": false, "input": [ "#%install_ext http://raw.github.com/jrjohansson/version_information/master/version_information.py\n", "%load_ext version_information" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 1 }, { "cell_type": "code", "collapsed": false, "input": [ "%version_information matplotlib, numpy" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stderr", "text": [ "/home/kiko/pyprojs/pyenv/scipy/lib/python3.4/site-packages/ipython/IPython/core/formatters.py:250: FormatterWarning: application/json formatter returned invalid type (expected (,)) for object: \n", " FormatterWarning\n" ] }, { "html": [ "
SoftwareVersion
Python3.4.0 64bit [GCC 4.8.2]
IPython3.0.0-dev
OSLinux 3.13.0 24 generic x86_64 with LinuxMint 17 qiana
matplotlib1.4.2
numpy1.9.1
Sun Jan 25 19:51:49 2015 CET
" ], "latex": [ "\\begin{tabular}{|l|l|}\\hline\n", "{\\bf Software} & {\\bf Version} \\\\ \\hline\\hline\n", "Python & 3.4.0 64bit [GCC 4.8.2] \\\\ \\hline\n", "IPython & 3.0.0-dev \\\\ \\hline\n", "OS & Linux 3.13.0 24 generic x86\\_64 with LinuxMint 17 qiana \\\\ \\hline\n", "matplotlib & 1.4.2 \\\\ \\hline\n", "numpy & 1.9.1 \\\\ \\hline\n", "\\hline \\multicolumn{2}{|l|}{Sun Jan 25 19:51:49 2015 CET} \\\\ \\hline\n", "\\end{tabular}\n" ], "metadata": {}, "output_type": "pyout", "prompt_number": 2, "text": [ "Software versions\n", "Python 3.4.0 64bit [GCC 4.8.2]\n", "IPython 3.0.0-dev\n", "OS Linux 3.13.0 24 generic x86_64 with LinuxMint 17 qiana\n", "matplotlib 1.4.2\n", "numpy 1.9.1\n", "Sun Jan 25 19:51:49 2015 CET" ] } ], "prompt_number": 2 }, { "cell_type": "code", "collapsed": false, "input": [ "%matplotlib inline\n", "\n", "import matplotlib.pyplot as plt\n", "import numpy as np" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 3 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Un gr\u00e1fico normal por defecto en matplotlib (de esos que son tan feos) en el notebook de IPython ser\u00e1 de la siguiente forma:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "fig, ax = plt.subplots(figsize=(8,4))\n", "ax.plot(np.random.randn(25), label = 'random')\n", "ax.legend()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 5, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nSUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 5 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Usando el paquete `styles` modificar la apariencia a uno de los estilos que trae por defecto el paquete ser\u00eda algo como lo siguiente:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "print('Estilos disponibles: ', plt.style.available)\n", "estilo = np.random.choice(plt.style.available)\n", "print('Vamos a usar el estilo ', estilo)\n", "plt.style.use(estilo)\n", "\n", "# la misma gr\u00e1fica que antes\n", "fig, ax = plt.subplots(figsize=(8,4))\n", "ax.plot(np.random.randn(25), label = 'random')\n", "ax.legend()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Estilos disponibles: ['fivethirtyeight', 'ggplot', 'grayscale', 'dark_background', 'bmh']\n", "Vamos a usar el estilo ggplot\n" ] }, { "metadata": {}, "output_type": "pyout", "prompt_number": 9, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 9 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Como hab\u00e9is visto en la salida anterior dispon\u00e9is de varios estilos por defecto, `['ggplot', 'bmh', 'grayscale', 'dark_background', 'fivethirtyeight']`. Probadlos todos si quer\u00e9is verlos en vivo o [ved este notebook](http://nbviewer.ipython.org/github/jakevdp/PyData2014/blob/master/notebooks/06_mpl_Stylesheets.ipynb).\n", "\n", "Si os gustan los valores por defecto pod\u00e9is volver a ellos usando `plt.rcdefaults()`." ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "No me gusta ninguno de los estilos que vienen por defecto" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\"Siemprrre negatifffos, nunca positifffos\", pero que no cunda el des\u00e1nimo. Crear tu propio estilo es sencillo. Vamos a ver como podemos crear una hoja de estilos que se adec\u00fae a nuestros gustos." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Si queremos que nuestro nuevo estilo est\u00e9 siempre disponible cada vez que usemos matplotlib deberemos incluir la hoja de estilos en la carpeta `~/.matplotlib/stylelib/` `~/.config/matplotlib/stylelib/` (la documentaci\u00f3n oficial est\u00e1 mal y deber\u00e9is usar la que os indico yo, quiz\u00e1 esa carpeta no exista de inicio y la deber\u00e9is de crear). Voy a crearla con IPython (lo hago en Linux, no lo he probado en otros sistemas operativos):" ] }, { "cell_type": "code", "collapsed": false, "input": [ "%mkdir ~/.config # Seguramente esta ya exista\n", "%mkdir ~/.config/matplotlib\n", "%mkdir ~/.config/matplotlib/stylelib" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "mkdir: cannot create directory \u2018/home/kiko/.config\u2019: File exists\n", "mkdir: cannot create directory \u2018/home/kiko/.config/matplotlib\u2019: File exists\n" ] } ], "prompt_number": 10 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Y ahora vamos a definir un nuevo estilo **pybonacci** como el que [definimos en el repositorio de *mpl_styles*](https://github.com/Pybonacci/mpl_styles/blob/master/mpl_styles.py#L117). Para ello vamos a usar IPython para crear la hoja de estilo que se llamar\u00e1 `pybonacci.mplstyle` (debe tener la extensi\u00f3n `\\*.mplstyle`):" ] }, { "cell_type": "code", "collapsed": false, "input": [ "%%writefile ~/.config/matplotlib/stylelib/pybonacci.mplstyle\n", "lines.linewidth: 1.0\n", "lines.color: 5390C1\n", "lines.antialiased: True\n", "patch.linewidth: 0.5\n", "patch.facecolor: FFD333\n", "patch.edgecolor: FFE771\n", "patch.antialiased: True\n", "font.family: Arial\n", "font.size: 10.0\n", "font.monospace: DejaVu Sans Mono, Andale Mono, Nimbus Mono L, Courier New, Courier, Fixed, Terminal, monospace\n", "axes.facecolor: eeeeee\n", "axes.edgecolor: bcbcbc\n", "axes.linewidth: 1.0\n", "axes.grid: True\n", "axes.titlesize: x-large\n", "axes.labelsize: large\n", "axes.labelcolor: 555555\n", "axes.axisbelow: True\n", "axes.color_cycle: 5390C1, FFD333, FFE771, 70A4CB, 4385BB, 3D79AA, 39719E\n", "xtick.major.size: 0.0\n", "xtick.minor.size: 0.0\n", "xtick.major.pad: 6.0\n", "xtick.minor.pad: 6.0\n", "xtick.color: 555555\n", "xtick.direction: in\n", "ytick.major.size: 0.0\n", "ytick.minor.size: 0.0\n", "ytick.major.pad: 6.0\n", "ytick.minor.pad: 6.0\n", "ytick.color: 555555\n", "ytick.direction: in\n", "legend.fancybox: True\n", "legend.numpoints: 1\n", "figure.figsize: 11, 8\n", "figure.facecolor: 1.0\n", "figure.edgecolor: 0.5\n", "figure.subplot.hspace: 0.5" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Writing /home/kiko/.config/matplotlib/stylelib/pybonacci.mplstyle\n" ] } ], "prompt_number": 11 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Y ahora, supuestamente, deber\u00edamos poder acceder al nuevo estilo creado:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "print('Estilos disponibles: ', plt.style.available)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Estilos disponibles: ['fivethirtyeight', 'ggplot', 'grayscale', 'dark_background', 'bmh']\n" ] } ], "prompt_number": 12 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Si veis que no est\u00e1 disponible pod\u00e9is hacer lo siguiente:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "plt.style.reload_library()\n", "plt.style.available" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 13, "text": [ "['ggplot',\n", " 'grayscale',\n", " 'dark_background',\n", " 'bmh',\n", " 'fivethirtyeight',\n", " 'pybonacci']" ] } ], "prompt_number": 13 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Ahora vamos a recrear el gr\u00e1fico que [definimos en el repositorio de *mpl_styles*](https://github.com/Pybonacci/mpl_styles/blob/master/mpl_styles.py#L117) para el estilo **pybo** que definimos all\u00ed:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "plt.style.use('pybonacci')\n", "\n", "x1 = range(10)\n", "x2 = np.random.rand(100)\n", "y1 = np.random.randn(10)\n", "y2 = np.random.rand(100)\n", "\n", "plt.subplot(2,2,1)\n", "plt.plot(x1,y1)\n", "plt.plot(x1,y1-1)\n", "plt.plot(x1,y1-2)\n", "plt.plot(x1,y1-3)\n", "plt.plot(x1,y1-4)\n", "plt.subplot(2,2,2)\n", "plt.scatter(x2, y2)\n", "plt.subplot(2,2,3)\n", "plt.bar(x1, y1)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 16, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nWjt+/DhWr14Nh8OBuLg4zJgxQ7GLemw2G2bOnInly5crfiroP//5D7Zs2QKVSoWUlBQ89thj0GqV\nOXHypz/9CTU1NdBoNLjvvvtw5ZVXKtKunHx1CcnWPsfXr18PAMjJyQEArF27FsXFxdDr9Zg+fTp6\n9+4tWz3u1rdq1Srs3LmzuXdb6anKXHn8Lli5ciWuueYaRacicqW+Tz75BJs3b1Z8er2OaquursbK\nlSthNpshCAImTZqk6B+aF3JGdXU1DAYD7rzzTjidzub6AO++Nzqqz933hs+ESyIiIiLyfz5xWpyI\niIiIAgPDJRERERFJhuGSiIiIiCTDcElEREREkmG4JCIiIiLJMFwSERERkWQYLomIiIhIMgyXRERE\nRCQZhksiIiIikgzDJRERERFJhuGSiIiIiCTDcElEREREkmG4JCIiIiLJMFwSERERkWQYLomIiIhI\nMgyXRERERCQZhksiIiIikgzDJRERERFJhuGSiIiIiCTDcElEREREkmG4JCIiIiLJMFwSERERkWQY\nLomIiIhIMgyXRERERCQZhksiIiIikgzDJRERERFJhuGSiIiIiCTDcElEREREkmG4JCIiIiLJMFwS\nERERkWQYLomIiIhIMgyXRERERCQZhksiIiIikgzDJRERERFJhuGSiIiIiCTDcElEREREkmG4JCIi\nIiLJMFwSERERkWQYLomIiIhIMgyXRERERCQZhksiIiIikgzDJRERERFJhuGSiIiIiCTDcElERERE\nkmG4JCIiIiLJMFwSERERkWQYLomIiIhIMgyXRERERCQZhksiIiIikgzDJRERERFJhuGSiIiIiCTD\ncElEREREkmG4JCIiIiLJMFwSERERkWQYLomIiIhIMgyXRERERCQZhksiIiIikgzDJRERERFJhuGS\niIiIiCTDcElEREREkmG4JCIiIiLJMFwSERERkWQYLomIiIhIMgyXRERERCQZhksiIiIikgzDJRER\nERFJhuGSiIiIiCTDcElEREREkmG4JCIiIiLJaD25c0VFBVasWIGqqiqoVCpkZ2fj5ptvbrHd66+/\njuLiYuh0OsyYMQMpKSmeNEtEREREPsqjcKnVanHfffchOTkZNpsNc+bMweDBg5GYmNi8TWFhIcrL\ny/HKK6/gyJEjWLNmDRYtWuRx4URERETkezw6LW4wGJCcnAwA0Ov1SEhIQGVl5SXbFBQUYMyYMQCA\n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\nj6YAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 16 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Que he dicho que no me gusta matplotlib" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Si a pesar de todo lo expuesto aqu\u00ed sigue sin gustarte matplotlib (est\u00e1s en tu derecho y si lo argumentas en los comentarios lo podr\u00e9 entender mejor) tienes varias posibilidades disponibles:\n", "\n", "* [Bokeh](http://bokeh.pydata.org/en/latest/)\n", "* [GGplot](http://ggplot.yhathq.com/)\n", "* Usad alguna librer\u00eda javascript como Highcharts ([ved un tutorial aqu\u00ed](http://pybonacci.org/2014/07/31/tutorial-de-highcharts-usando-ipython-brython-y-brythonmagic/)), d3js,...\n", "* [Chaco](http://code.enthought.com/chaco/)\n", "* [Veusz](http://home.gna.org/veusz/)\n", "* [PyQwt](http://pyqwt.sourceforge.net/)\n", "\n", "No pongo [Seaborn](http://stanford.edu/~mwaskom/software/seaborn/index.html) puesto que se basa en matplotlib." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Saludos a todos.\n", "\n", "P.D.: Este notebook y la hoja de estilos que acabamos de crear est\u00e1 disponible en el [repo de notebooks de Pybonacci](https://github.com/Pybonacci/notebooks/tree/master/Realmente_es_feo_matplotlib)." ] } ], "metadata": {} } ] }