{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "*This notebook contains an excerpt from the [Whirlwind Tour of Python](http://www.oreilly.com/programming/free/a-whirlwind-tour-of-python.csp) by Jake VanderPlas; the content is available [on GitHub](https://github.com/jakevdp/WhirlwindTourOfPython).*\n", "\n", "*The text and code are released under the [CC0](https://github.com/jakevdp/WhirlwindTourOfPython/blob/master/LICENSE) license; see also the companion project, the [Python Data Science Handbook](https://github.com/jakevdp/PythonDataScienceHandbook).*\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "< [Resources for Further Learning](16-Further-Resources.ipynb) | [Contents](Index.ipynb) |" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Appendix: Figure Code" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This section contains code used to generate figures that appear in this report." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import os\n", "if not os.path.exists('fig'):\n", " os.makedirs('fig')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Section 6: List Indexing\n", "\n", "This figure helps visualize how Python's indexing works." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n28zMzMwsg/8D+aRsnfmT2tkAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "L = [2, 3, 5, 7, 11]\n", "\n", "fig = plt.figure(figsize=(10, 4))\n", "ax = fig.add_axes([0, 0, 1, 1], xticks=[], yticks=[], frameon=False,\n", " aspect='equal')\n", "\n", "for i in range(5):\n", " ax.add_patch(plt.Rectangle([i - 0.5, -0.5], 1, 1, fc='none', ec='black'))\n", " ax.text(i, -0.05, L[i], size=100,\n", " ha='center', va='center', family='monospace')\n", " \n", "for i in range(6):\n", " ax.text(i - 0.5, 0.55, str(i), size=20,\n", " ha='center', va='bottom', family='monospace')\n", " \n", "for i in range(5):\n", " ax.text(i - 0.5, -0.58, str(-5 + i), size=20,\n", " ha='center', va='top', family='monospace')\n", " \n", "ax.axis([-0.7, 4.7, -0.7, 0.7]);\n", "\n", "fig.savefig('fig/list-indexing.png');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "< [Resources for Further Learning](16-Further-Resources.ipynb) | [Contents](Index.ipynb) |" ] } ], "metadata": { "anaconda-cloud": {}, "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.5.1" } }, "nbformat": 4, "nbformat_minor": 0 }