Skip to content
Snippets Groups Projects
python-data-3-plotting-sol.ipynb 173 KiB
Newer Older
ignat's avatar
ignat committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504
{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Notebook 4 - Basic Plotting"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Producing informative visuals for your data is an important part of data analysis. Here, we introduce matplotlib which is the de facto standard plotting library used in Python. We tend to interact with matplotlib through its `pyplot` module, which is normally imported like so:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## My first plot\n",
    "\n",
    "Let's see how easy it is to plot with pyplot by drawing a line graph of some randomly-generated data."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "data = np.random.randn(100).cumsum() #Create some random data\n",
    "plt.plot(data) #Plot the data\n",
    "plt.show() #Show the plot"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "That's not so hard! The `plt.plot` function in general can take sequences of numerical values of the same length and plot them against each other. If we give just one array, `plt.plot` will plot the elements of the array against their index.\n",
    "\n",
    "We can also give `plt.plot` what's called a format string, which controls the style of the line we plot. In the example below, the string `g.:` specifies we want our plot to be green (`g`), with data marked by a small dot (`.`), and joined to one another by a dotted line (`:`). For a full list of colours, point markers, and line styles, see the documentation for `plt.plot` (remember you can run `plt.plot?` or sude `Shift + TAB` to access this)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(data, 'g.:')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The `plt.plot` method is called an artist method, because it draws something, and it does so in a articular way (it draws line plots). There are many other artist methods available to us in the `pyplot` module. Here are some of the most useful artist methods:\n",
    "\n",
    "|Artist|Style|\n",
    "|---|---|\n",
    "|plot|line plots|\n",
    "|bar|bar charts (vertica)|\n",
    "|barh|horizontal bar charts|\n",
    "|boxplot|boxplots|\n",
    "|hist|histograms|\n",
    "|loglog|log-log scaled plots|\n",
    "|matshow|heat map of a matrix|\n",
    "|pie|pie charts|\n",
    "|quiver|2-D vector fields|\n",
    "|scatter|scatter diagrams|\n",
    "|violin|violin plots|\n",
    "\n",
    "Each artist method can be accessed by prefixing it with `plt`. You can find out more about each method using the `pyplot` documentation available within Jupyter notebooks or in more detail at [the matplotlib documentation site](https://matplotlib.org/index.html). By exploring this documentation you may find even more useful artist methods for you to use!\n",
    "\n",
    "### Exercise 1\n",
    "\n",
    "Use Numpy to generate 2 different sequences of random numbers of the same length. Then plot these against one another as a scatter diagram."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x7fb0ed479dd8>"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "seq1 = np.random.randn(50)\n",
    "seq2 = np.random.randn(50)\n",
    "plt.scatter(seq1, seq2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Annotation and Customisation\n",
    "\n",
    "Annotating and customising plots is just as easy as creating them. In the example below, we import some categorical data from a file, plot it, and add axis labels and a title."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Read the data from a csv file\n",
    "rawdata = np.genfromtxt(\"./data/headcount.csv\", dtype=np.str, delimiter=\",\") # read data into an np array\n",
    "header = rawdata[0] # Separate out column headers\n",
    "groups = rawdata[1:, 0] # Separate first column\n",
    "counts = np.asarray(rawdata[1:, 1], dtype=np.int) # Separate second column\n",
    "\n",
    "#Plot a bar chart of staff numbers\n",
    "plt.bar(np.arange(len(counts)), counts) # Create bar chart\n",
    "plt.xlabel(header[0]) # Set x axis label\n",
    "plt.ylabel(header[1]) # Set y axis label\n",
    "plt.xticks(np.arange(len(counts)), groups, rotation=30) # Set labels for x axis ticks\n",
    "plt.title(\"UoE Staff Headcount Dec 2018\") # Set title\n",
    "plt.show() # Show the figure"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's break that sequence of plotting commands down some more.\n",
    "- The method `plt.bar` takes an array of positions for which to centre the bars, and an array of the same length giving the heights of the bars. In general, if we have n bars, the numbers 1, 2, ..., n are a good way of centering the bars. We specified that here by passing the array `np.arange(len(counts))`.\n",
    "- The methods `plt.xlabel` and `plt.ylabel` set labels for the x and y axes respectively. We had stored these in the array `header`, which contained the header row in our csv file.\n",
    "- The method `plt.xticks` sets where the ticks should be placed on the x axis. We have told it to put them at the centre of each bar, and have given it an array of strings to be used as labels (the default is to use numerical values), as well as an optional rotation parameter.\n",
    "- The method `plt.title` gives our figure a title.\n",
    "- Finally, `plt.show` displays the figure for us!\n",
    "\n",
    "We can also add a legend to our figures if, for instance, they contain multiple plots. Here's an example, using randomly generated data."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "x = np.arange(0, 6.5, 0.01)\n",
    "plt.plot(x, np.sin(x), 'r')\n",
    "plt.plot(x, np.cos(x), 'g')\n",
    "plt.legend([\"sin(x)\", \"cos(x)\"], loc='best')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We were able to draw multiple lines on the same figure by multiple successive calls to `plt.plot`. Then `plt.legend` adds a legend to the figure: it takes a list of labels, and uses these to label the lines in the order they were drawn on the figure. The optional `loc` parameter specifies where the legend will be placed (defaults to top right).\n",
    "\n",
    "### Exercise 2\n",
    "\n",
    "Read in the data from the file `cse_staff_population.csv`. Each line of the file lists the name of a School/Planning unit, followed by the number of academic staff, followed by the number of professional services staff (the first line is a header line).\n",
    "\n",
    "Plot a bar chart showing, for each School/Planning Unit, the number of academic staff and the number of professional services staff (so each School/Planning Unit will have two bars associated to it). Your figure should have axes labels, appropriate labels for the xticks, and a title. The bars for academic and professional services should be colour coded, and this should be noted by a legend.\n",
    "\n",
    "(Hint: You can use two different calls to `plt.bar` to overlay two bar charts on one figure.)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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QkSoX79+qVqcriAcpwLhysEpCaV9XzKqIERkqYgsCHMCzw5p9UTkJRFZFH53COkiIneEuYjfF5GOmZTNcZwt48knn0RE+OST9EwPUatWemYrffrppxk1alRazuUYZdEH0SNM+5hgJPCKqo4SkZFh+xJscpI9w9IJmzKxU6aEaj5ySqmOXzqqb5okcZwto7TvcDKpvtMTJkyga9euPProo1x99dVplaE09OvXj379+mVbjK2KbJiYjgLGh/XxFM5TfBTwoBrvAHVFpHEW5HMcpwjWrFnDm2++yZgxY3j00cIZSG+88UZyc3Np164dI0eOBOD+++8nPz+fdu3aMXDgQH7++WcAPv/8c7p06UJ+fj5XXHHFRue/6aabyM/Pp23btlx11VUALF26lJYtW3LaaafRpk0bTjzxRF5++WUOOOAA9txzT959910Axo0bxznnnAPAt99+y9FHH027du1o164db731VsbvzdZIphWEAlNFZI6IjAhpO6rqNwDht1FIb4JNQ5lgWUjbCBEZISKzRWT28uXLMyi64zjJTJ48md69e7PXXntRr1495s6dy/PPP8/kyZOZOXMm8+fP5+KLLwZgwIABzJo1i/nz59OqVSvGjBkDwLnnnsuZZ57JrFmz2GmnnQrOPXXqVBYtWsS7777LvHnzmDNnDjNmzABg8eLFnHvuubz//vt88skn/Pvf/+aNN97g5ptv5rrrrttEzj/96U9069aN+fPnM3fuXFq3bl0Gd2frI9MmpgNU9WsRaQS8JCLFGS3jelM2maxCVe8D7gPIy8vzySwcpwyZMGEC5513HgDHHXccEyZMYMOGDQwbNoyaNWsCUK9ePQA++OADLr/8cn788UfWrFlDr169AHjzzTd5/PHHATj55JO55JJLAFMQU6dOpUOHDoC1VhYtWsSuu+5KixYtyM3NBaB169b07NkTESE3N5elS5duIue0adN48MEHAcjJyaFOnToZuiNbNxlVEKr6dfj9TkSeBPYDvhWRxqr6TTAhfReyLwN2iRzeFJu83nGccsDKlSuZNm0aH3zwASLC+vXrEREGDhwY6y0zdOhQJk+eTLt27Rg3bhzTp08v2BeXX1W59NJLOf300zdKX7p0KdWqVSvYrlSpUsF2pUqVWLfOp+/OFBkzMYnIdiJSO7EOHAZ8ADwNDAnZhgBPhfWngVOCN1NnYFXCFOU4TvaZNGkSp5xyCl988QVLly7lyy+/pEWLFtSrV4+xY8cW9DF8//33AKxevZrGjRvz+++/88gjjxSc54ADDijov4im9+rVi7Fjx7JmzRoAvvrqK7777ju2hJ49e3L33XcDsH79en766actOs+2Tib7IHYE3hCR+cC7wBRVfQEYBRwqIouAQ8M2wHPAEmAxcD9wVgZlcxynhEyYMIGjjz56o7SBAwfy9ddf069fP/Ly8mjfvj0333wzANdeey2dOnXi0EMPpWXLlgXH3H777YwePZr8/HxWrVpVkH7YYYdxwgkn0KVLF3Jzcxk0aBCrV6/eIllvv/12Xn31VXJzc9l333358MMPt+g82zoVek7qvLw83dL5INzN1alofPzxx7Rq1SrbYjgVjLj3RkTmqGre5o71kdSO4zhOLK4gHMdxnFhcQTiO4zixuIJwHMdxYnEF4TiO48TiCsJxHMeJxRWE4zgpk5OTQ/v27WnTpg3HHHNMweC4VPnPf/5Dq1at6NGjR1rkufLKK3n55ZfTcq4E06dP54gjjtgk/eeff+bEE08kNzeXNm3a0LVr14JBfaXl8MMP58cff0zLudKJTznqOBWVq9McX+jqVZvNUqNGDebNmwfAiSeeyD333MMFF1xQsF9VUVUqVYqve44ZM4a77rorbQrimmuuSct5UuH2229nxx13ZMGCBQAsXLiwRHM9r1+/npycnNh9zz33XFpkTDfegnAcZ4s48MADWbx4MUuXLqVVq1acddZZdOzYkS+//JIJEyYU1LQTwfiuueYa3njjDc444wwuuugi1q9fz0UXXVQQ3vvee+8F4JtvvuGggw4qaKm8/vrrrF+/nqFDh9KmTRtyc3O59dZbAYv3NGnSJABeeeUVOnToQG5uLqeeeiq//vorAM2bN+eqq66iY8eO5ObmFkx09O6777L//vvToUMH9t9/fxYuXFjs//3mm29o0qQwwPTee+9dEBPq4YcfZr/99qN9+/acfvrprF+/HrDJkK688ko6derEddddx7HHHltw/PTp0znyyCMLZFyxwqbNefDBB2nbti3t2rXj5JNPBmD58uUMHDiQ/Px88vPzefPNNwF47bXXaN++Pe3bt6dDhw5bPPK8KFxBOI5TYtatW8fzzz9fEGF14cKFnHLKKbz33ntUqVKFSy65hGnTpjFv3jxmzZrF5MmTufLKK8nLy+ORRx7hpptuYsyYMdSpU4dZs2Yxa9Ys7r//fj7//HP+/e9/06tXL+bNm8f8+fNp37498+bN46uvvuKDDz5gwYIFDBs2bCN5fvnlF4YOHcrEiRNZsGAB69atK4jFBNCgQQPmzp3LmWeeWRAKpGXLlsyYMYP33nuPa665hssuu6zY/3zqqadyww030KVLFy6//HIWLVoE2EjliRMn8uabbzJv3jxycnIKYkytXbuWNm3aMHPmTC699FLeeecd1q5dC8DEiRMZPHjwRtf48MMP+fvf/860adOYP38+t99+O2Ah0s8//3xmzZrF448/zmmnnQbAzTffzOjRo5k3bx6vv/46NWrU2KLnWRRuYnIcJ2X+97//0b59e8BaEMOHD+frr7+mWbNmdO7cGYBZs2bRvXt3GjZsCJgpasaMGfTv33+jc02dOpX333+/oAWwatUqFi1aRH5+Pqeeeiq///47/fv3p3379uy2224sWbKEP/7xj/Tt25fDDjtso3MtXLiQFi1asNdeewEwZMgQRo8eXRCafMCAAQDsu+++PPHEEwXXGzJkCIsWLUJE+P3334v97+3bt2fJkiVMnTqVl19+mfz8fN5++21eeeUV5syZQ35+fsE9atTIprnJyclh4MCBAFSuXJnevXvzzDPPMGjQIKZMmcKNN9640TWmTZvGoEGDaNCgAVAYOv3ll1/mo48+Ksj3008/sXr1ag444AAuuOACTjzxRAYMGEDTpk2L/Q8lxRWE4zgpE+2DiLLddtsVrKca301V+ec//1kwT0SUGTNmMGXKFE4++WQuuugiTjnlFObPn8+LL77I6NGjeeyxxxg7dmzK10yYgnJycgrCg19xxRX06NGDJ598kqVLl9K9e/fNylyrVi0GDBjAgAEDqFSpEs899xxVq1ZlyJAhXH/99Zvkr169+kb9DoMHD2b06NHUq1eP/Px8ateuvck9iQuFvmHDBt5+++1NWggjR46kb9++PPfcc3Tu3JmXX355o8CIpcVNTI7jpJVOnTrx2muvsWLFCtavX8+ECRPo1q3bJvl69erF3XffXVBz//TTT1m7di1ffPEFjRo14g9/+APDhw9n7ty5rFixgg0bNjBw4ECuvfZa5s6du9G5WrZsydKlS1m8eDEADz30UOw1o6xataqgT2HcuHGb/V9vvvkmP/zwAwC//fYbH330Ec2a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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "rawdata = np.genfromtxt(\"./data/cse_staff_population.csv\", dtype=np.str, delimiter=\",\") # read data into an np array\n",
    "header = rawdata[0] # Separate out column headers\n",
    "schools = rawdata[1:, 0] # Separate first column\n",
    "academic = np.asarray(rawdata[1:, 1], dtype=np.int) # Separate second column\n",
    "professional = np.asarray(rawdata[1:, 2], dtype=np.int) # Separate third column\n",
    "\n",
    "plt.bar(np.arange(len(academic))-0.2, academic, 0.4) # Create bar chart\n",
    "plt.bar(np.arange(len(professional))+0.2, professional, 0.4) # Create bar chart\n",
    "plt.xlabel(\"School/Planning Unit\")\n",
    "plt.ylabel(\"Headcount\")\n",
    "plt.xticks(np.arange(len(schools)), schools, rotation=30)\n",
    "plt.title(\"CSE Staff Population\")\n",
    "plt.legend([\"Academic\", \"Professional Services\"], loc='best')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Saving Figures\n",
    "\n",
    "The function used to save the current figure is `plt.savefig`. This function accepts a string representing a file path, which tells Python where the image should be saved. In specifying an extension, the `plt.savefig` method will infer which format to export to. We can additionally control the resolution with the `dpi` parameter, which stands for dots-per-inch."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "data = np.random.randn(100) # Generate some random data\n",
    "plt.boxplot(data) # Create a boxplot of that data\n",
    "plt.savefig(\"my_boxplot.png\", dpi=300) # Save the figure as a png, with high resolution."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Figure Objects\n",
    "\n",
    "As we have seen, we build plots in matplotlib by successive calls to `plt`. We start by calling an artist method, which draws a figure. Then if we call other artist methods, these draw on the same figure. Calling methods such as `plt.xlabel` or `plt.title` update the current figure too, which we can save using `plt.savefig`. To see the current figure, we can call `plt.show`.\n",
    "\n",
    "In the background, matplotlib always maintains a \"current figure\", which is empty to start with. Successive calls to functions from the `plt` module draw on or change the current figure. This allows us to build up a figure piece-by-piece: layering different plots on the same figure, and updating the figure's annotations and other settings one-by-one. But then we need to know: how do we clear the current figure to create something new? It turns out, this is done automatically every time we call `plt.show`.\n",
    "\n",
    "### Exercise 3\n",
    "Take a look at the file `my_graph.jpeg` produced by running this code block. Something is wrong: change the code block so that the output file is the same as the displayed graph."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "x = np.arange(0.1, 10, 0.1)\n",
    "plt.plot(x, np.log(x))\n",
    "plt.show() # This line should be moved to AFTER plt.savefig\n",
    "plt.savefig(\"my_graph.jpeg\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The current figure is also cleared when we run a new Jupyter cell. This means we must complete a figure in a single cell, and we then have a \"blank canvas\" in every new cell. This is something to be aware of if you try to migrate code from a Jupyter notebook to a regular python script: in the background, Jupyter will have been clearing the current figure for you, so you may need to add code to clear the current figure manually. Here's an example showing how Jupyter clears figures automatically:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "x = np.arange(0, 6, 0.1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7fb0ed18a390>]"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(x, np.exp(x))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7fb0ed0ea5c0>]"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(x, x**3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7fb0ed0f1cf8>]"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(x, np.exp(x))\n",
    "plt.plot(x, x**3)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "It's good practice to end the creation of a new plot with `plt.show`, so that if code is transferred to a non-Jupyter environment we will not have uncleared figures interfering with each other. You can also use `plt.clf` to clear the current figure (this may be preferable, since in a regular python script, `plt.show` creates a pop-up window displaying the figure, and the rest of the script will not execute until this window has been closed).\n",
    "\n",
    "We've seen that by default, matplotlib builds up a figure by updating an object called the \"current figure\". But can we also access other, previously created figures to update them. We can even create more complicated figures which may cintain several sub-plots side by side. This involves creating and referncing figure objects, and axes objects. This is not much harder than we've been doing already, but since it goes a little beyond the basic matplotlib functionality, it will be covered in an extension notebook.\n",
    "\n",
    "Another way to enhance our plotting capabilities is through the [seaborn](https://seaborn.pydata.org/) package. Matplotlib, with its style of building up plots in a piecewise manner, gives us lots of control over our visuals - but it can also be tedious to use, especially for routine tasks. Seaborn is based on matplotlib, but wraps up lots of convenient functionality in an easy to use way. Its visual style is also a little different to matplotlib. It is closely related to another package known as Pandas, which will be introduced in Notebook 5."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "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.6.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}