{ "cells": [ { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "
\n", "

IPYTHON E MATPLOTLIB

\n", "
\n", "\n", "

Python fo computational science

\n", "

CINECA, 16-18 October 2017

\n", "\n", "

m.cestari@cineca.it

\n", "\n", "
" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "## Introduction\n", "* plotting data give us __visual feedback__\n", "* Typical workflow:\n", " * write a python program to parse data\n", " * pass the data to a plot tool to show the results\n", "* with __Matplotlib__ we can achieve the same result in a single script and with more flexibility\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "## Premises/1\n", "\n", "* During this course we have extensively used __Jupyter__\n", "\n", "* So why we are still talking about __ipython__?\n", "\n", "* jupyter provides a common user interface for different _language specific kernels_" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "## Premises/2: widely used kernels\n", " * __python__\n", " * IPython \n", " * __R__\n", " * IRkernel \n", " * IRdisplay \n", " * repr \n", " * __Julia__\n", " * IJulia Kernel \n", " * Interactive Widgets \n", " * __Bash__ " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "## Premises/3: widely used kernels\n", "\n", "more kernels here: \n", "\n", "https://github.com/ipython/ipython/wiki/IPython-kernels-for-other-languages" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "## Ipython/1\n", " \n", "* improves the interactive mode usage\n", " * tab completion for functions, modules, variables, files\n", " * Introspection, accessibile with “?”, of objects and function\n", " * %run, to execute a python script\n", " * filesystem navigation (cd, ls, pwd) and bash like behaviour (cat) \n", " * `!cmd` execute command in the shell\n", " * Debugging and profiling\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "## Ipython/2\n", " \n", "improves the interactive mode usage\n", "\n", " * Search commands Ctrl-n, Ctrl-p, Ctrl-r (don't work with notebook) \n", " \n", " * magic commands:\n", " * `%magic` (list them all)\n", " * `%whos`\n", " * `%timeit`\n", " * `%logstart`\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "## Ipython/3\n", "\n", "__Ipython__ is recommended over python for interactive\n", "usage:\n", "* Has a matplotlib support mode\n", "```\n", " $ ipython --pylab\n", "``` \n", "\n", "* no need to import any modules; merges __`matplotlib.pyplot`__ (for plotting) and __`numpy`__ (for mathematical functions)\n", "* spawn a thread to handle the GUI and another one to handle the user inputs\n", " * every plot command triggers a plot update\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "## Ipython/4\n", " \n", "* notebook\n", " ``` \n", " $ jupyter/ipython notebook\n", " ```\n", " * documents that contain live code, equations, visualizations and explanatory text. \n", "\n", " * You can share notebooks (.ipynb files)\n", "\n", " * can be converted to static formats such as HTML, Markdown, LaTeX/PDF, and reStrucuredText\n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "# Well integrates with matplotlib\n", "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "## Ipython/5\n", "* QT GUI console \n", "```\n", "$ jupyter/ipython qtconsole\n", "``` " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Matplotlib:\n", "* makes use of Numpy to provide __good performance__ with __large__ data arrays\n", "* allows __publication quality__ plots\n", "* since it's a Python module can be easily __integrated__ in a Python program" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "## Module import\n", "\n", "Let us be consistent with the official documentation\n", "\n", "```\n", "$ (i)python\n", ">>> import matplotlib.pyplot as plt\n", "```" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "## Matplotlib first example\n" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# following imports are not necessary if --pylab\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "x = np.linspace(0, 2*np.pi, 10**4)\n", "y = np.sin(x)\n", "plt.plot(x,y) \n", "plt.grid()" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "subslide" } }, "source": [ "## Matplotlib: multiple line plot" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x = np.arange(0,7,0.00001)\n", "plt.plot(x,x**3)\n", "plt.plot(x,x**2)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Or by passing multiple (x,y) arguments to the plot function " ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x = np.arange(0,7,0.00001)\n", "plt.plot(x,x**3, x,x**2)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "## Plot control commands\n", "Classic plot interaction is available" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(-0.34999950000000002, 7.3499895000000004, -17.149926500105003, 360.14845650220502)\n" ] }, { "data": { "image/png": "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\nAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(x,x**2, x, x**3, x, x)\n", "plt.grid()\n", "print(plt.axis()) # shows the current axis limits values\n", "plt.axis([0,5,0,5]) #[xmin,xmax,ymin,ymax]\n", "plt.xlabel('This is the X axis')\n", "plt.ylabel('y / s')\n", "plt.title('Outstanding title here') \n", "plt.legend(['Fast', 'SuperFast', 'Ideal'],loc=4) \n", "plt.savefig('plot123.png', dpi=350) " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "![](files/images/plot_window.png)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Object-oriented interface/1\n", "A figure is composed by a hierarchical series of Matplotlib objects:\n", "* __Figure__: Container for one or more Axes instances\n", "* __Subplot (Axes)__: The rectangular areas that holds the basic elements, such as lines, text, and so on\n", "* __Lines__: real plotting objects (lines, histograms, ...)\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "## Object-oriented interface/2" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "![](files/images/sub_plot.png)" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nNWLIwgAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = plt.figure()\n", "ax = fig.add_subplot(1,1,1)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "## Object-oriented interface/3\n", "* OO use of matplotlib makes the code more explicit and allows a lot more customizations\n", "* it is also consistent with all the examples found here \n", "http://matplotlib.sourceforge.net/gallery.html\n" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "image/png": "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\nYfwfaVDZyIehkckAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x = np.arange(0, 10, 0.1) # ; print(x)\n", "y = np.random.randn(x.size) # ; print(y)\n", "fig = plt.figure() # instance of the fig obj \n", "ax = fig.add_subplot(111) # instance of the axes obj\n", "l, m = ax.plot(x, y, x, y**2) # returns a tuple of obj \n", "l.set_color('blue') \n", "m.set_color('red')\n", "t = ax.set_title('random numbers')\n", "ax.grid()\n", "l.set_label('mylabel')\n", "#plt.show()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "## Object-oriented interface: multiple plot" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "x = np.arange(0, 10, 0.001)\n", "y = np.random.randn(len(x))\n", "fig = plt.figure(figsize=(6,8)) # instance of the fig obj \n", "ax = fig.add_subplot(211) # two axes instances in \n", "ax2 = fig.add_subplot(212) # the same column \n", "l, = ax.plot(x, y) # returns a tuple of obj \n", "m, = ax2.plot(x, y**2) # returns a tuple of obj \n", "l.set_color('blue') \n", "m.set_color('red')\n", "t = ax.set_title('random numbers')\n", "ax.set_ylabel('my y / my values')\n", "type(l)\n", "#ax.grid()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ " \n", " ## Object-oriented interface\n", "* Multiple figures are allowed\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "fig1 = plt.figure()\n", "ax1 = fig1.add_subplot(111)\n", "ax1.plot([1, 2, 3], [1, 2, 3]);\n", "fig2 = plt.figure(figsize=(7,3))\n", "ax2 = fig2.add_subplot(111)\n", "ax2.plot([1, 2, 3], [3, 2, 1]);" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "## To summarize\n", "* This was a very brief introduction to Matplotlib.\n", "* We don't need to cover everything; just go with your needs\n", "* It can be used interactively, a la Matlab, or Object-oriented\n", "* It can be fully integrated in a Python program;\n", " * your analysis code can be integrated with a plot tool, tailored to the application needs\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "## Bibliography\n", "\n", "http://matplotlib.sourceforge.net/contents.html\n", " \n", "Matplotlib for Python developers (Sandro Tosi, Packt Publishing Ltd., 2009)\n" ] } ], "metadata": { "celltoolbar": "Slideshow", "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.6.2" } }, "nbformat": 4, "nbformat_minor": 1 }