{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "**Tools - matplotlib**\n", "\n", "*This notebook demonstrates how to use the matplotlib library to plot beautiful graphs.*" ] }, { "cell_type": "markdown", "metadata": { "toc": "true" }, "source": [ "# Table of Contents\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Plotting your first graph" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First we need to import the `matplotlib` library." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import matplotlib" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Matplotlib can output graphs using various backend graphics libraries, such as Tk, wxPython, etc. When running python using the command line, the graphs are typically shown in a separate window. In a Jupyter notebook, we can simply output the graphs within the notebook itself by running the `%matplotlib inline` magic command." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "# matplotlib.use(\"TKAgg\") # use this instead in your program if you want to use Tk as your graphics backend." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now let's plot our first graph! :)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "