Skip to content

Instantly share code, notes, and snippets.

@jenyquist
Created May 25, 2017 15:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jenyquist/92525523bf2d786e066c44a78be2f9a7 to your computer and use it in GitHub Desktop.
Save jenyquist/92525523bf2d786e066c44a78be2f9a7 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a id='Top' /a>\n",
"# Class08\n",
"## Learning Objectives\n",
"* [Numpy](#Numpy)\n",
"* [Plotting Data with Matplotlib](#Matplotlib)\n",
"* [Different types of plots](#types)\n",
"* [Martian Challenge: Terminal Velocity](#Terminal)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a id='Numpy' /a>\n",
"## Numpy\n",
"[Top of Notebook](#Top)\n",
"\n",
"Before we learn how to plot data, it is essential to learn about numpy, the module that is synonymous with numerical processing in python.\n",
"\n",
"You are now familiar with lists, tuples, and dictionaries. None of these data structures, however, is particularly efficient for large amounts of numerical data. It is far better to store these numbers in numerical arrays. The Numpy library provides lots of ways to create and manipuate arrays of numbers. \n",
"\n",
"To see why Numpy is so important, let's step back and work with a familiar data structure, the list. Suppose we have a long list of numbers and we want to square each one. I don't know why, just go with me here. (Example from *Learning Pandas* by Michael Heydt)"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[1, 4, 9, 16]\n"
]
}
],
"source": [
"# Create a function to square all values in a list\n",
"# First create an empty list to hold the result; then, loop over the list of numbers to be squared,\n",
"# square each one, and add it to the list holding the results.\n",
"def squares(values):\n",
" result = []\n",
" for v in values:\n",
" result.append(v * v)\n",
" return result\n",
"\n",
"# Test our function with a simple case\n",
"test = [1, 2, 3, 4]\n",
"test_squared = squares(test)\n",
"print(test_squared)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The code did what we expected. Okay now let's try it on a really long list of numbers. We'll also time it to see how long it takes."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"100 loops, best of 3: 13.7 ms per loop\n"
]
}
],
"source": [
"# Create a list of 100,000 numbers with the python range() function\n",
"to_square = range(100000)\n",
"\n",
"# Time how long it takes to square all the elements in the list\n",
"%timeit squares(to_square)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"It took a little over 10 milliseconds. A millisecond is a thousandth of a second, so that seems pretty fast, but it is acually slow for computers. Note that the %timeit command is a \"magic\" function. It executes the command that follows multiple times and reports the average execution time. If your code is slow, you can used timeit to test various portions to find the pokey bits.\n",
"\n",
"Now let's try the same thing, but this time we'll use numpy arrays."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"numpy.ndarray"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import numpy as np\n",
"test = np.array([1, 2, 3, 4])\n",
"type(test)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[ 1 4 9 16]\n"
]
}
],
"source": [
"# With arrays we can just square the whole array and every element will be squared\n",
"test_squared = test**2\n",
"print(test_squared)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Okay, that worked, and we didn't have to write a function. But how about speed?"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"10000 loops, best of 3: 90.6 µs per loop\n"
]
}
],
"source": [
"# Create an array of sequential numbers from 0 to 99,999 using the numpy arange method.\n",
"array_to_square = np.arange(0, 100000)\n",
"%timeit array_to_square**2"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Notice that performing this task with lists took more than 10 milliseconds, but with arrays it took less than 90 microseconds. A millisecond is a thousandth of a second. A microsecond is a millionth of a second, a factor of 1000 different. Yes, both are fast, but in a long program with lots of operations the difference in speed quickly adds up. You might not care if your program runs in a millisecond or a microsecond, but as programs grow there will be many such operations. That factor of a 1000 difference is speed will start to matter. How do you feel about waiting 1 minute vs 1000 minutes (almost 17 hrs)?\n",
"\n",
"One of the reasons numpy arrays are so fast because they \"vectorize\" operantions, meaning they automatically perform them on a entire arrays. Suppose I gave you two lists of numbers [1, 2, 3, 4, 5] and [11, 12, 13, 14, 15] and I told you to add them together to get [12 14 16 18 20].\n",
"\n",
"Your solution would normally requiring looping over all of the elements. But look at how easy it is using Numpy."
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[12 14 16 18 20]\n"
]
}
],
"source": [
"import numpy as np\n",
"\n",
"# Create the arrays\n",
"a = np.array([1, 2, 3, 4, 5])\n",
"b = np.array([11, 12, 13, 14, 15])\n",
"\n",
"# Just add the array variables like ordinary numbers\n",
"c = a + b\n",
"print(c)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Unlike a python list, all of the elements in an array have to be the same type of data, and that is the main reason they can be processed more quickly. Python doesn't have to stop at each element in a list to figure out whether it is an integer, a float, a string, another list, etc. \n",
"\n",
"You need to learn about numpy arrays because we will be plotting arrrays of data in the next section."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Student challenge:** Create two numpy arrays of the same length and try multiplying them together and printing the result."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a id='Matplotlib' /a>\n",
"## Plotting Data with Matplotlib\n",
"[Top of Notebook](#Top)\n",
"\n",
"Computers halp you to work with vast amounts of data. Presenting all that data in a way that is easy to understand requires graphs and summary statistics. Because the Python language is an open-source project with thousands, if not tens of thousands, of active developers, there are at least a dozen different modules available for data visualization. We will focus on just one: matplotlib (http://matplotlib.org/). Matplotlib is probably the de facto standard plotting library for Python, and despite its long history it is still actively mantained by developers, with new features being added continually.\n",
"\n",
"Matplotlib gets it's name from Matlab, which is a commerical data analysis package extremely popular with scientists and engineers (Temple has a site license) that has an integrated graphics system. John Hunter, a long-time user of matlab, but disenchanted with commercial scientific software, started development on the open source code for matplotlib in the early 2000's. He modeled the resulting python graphics library on the plot commands used in matlab, in part to make it easy for practicing scientists to switch from matlab to python with having to relearn everything.\n",
"\n",
"Matplotlib is the most widely used plotting package in the python ecosystem. For a notion of it's full capabilities take a look at the plots and sample code in the matplotlib gallery: http://matplotlib.org/gallery.html."
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"## Pyplot\n",
"Matplotlib is so big it is organized into submodules. Most of the time the submodule you'll need is pyplot. Let's look as some simple examples. A lot of what follows comes from the [official Pyplot tutorial](http://matplotlib.org/users/pyplot_tutorial.html)."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x11014ef98>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# First issue the magic command to tell Jupyter to plot inside the notebook. This is important!\n",
"# If you don't do this you won't see the result. Remeber: magic commands start with a % sign and are not part\n",
"# of Python, but are commands to customize the notebook in some way.\n",
"\n",
"%matplotlib inline\n",
"\n",
"import matplotlib.pyplot as plt\n",
"ax = plt.plot([1,2,3,4])\n",
"plt.ylabel('some numbers')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The basic approach is to issue a series of pyplot commands that build the plot and then call show() to display the result. Although in Jupyter notebooks you can often omit the plt.show() because it is inferred when you execute the cell."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To plot x vs. y you can pass two lists of numbers or two numpy arrays."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7f1ea004ed30>]"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f1ecb96a128>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.plot([1, 2, 3, 4], [1, 4, 9, 16])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"For every x, y pair of arguments, there is an optional third argument that is the format string that indicates the color and line type of the plot. The letters and symbols of the format string follow the MATLAB plotting convention. You concatenate a color string with a line style string. The default format string is ‘b-‘, which is 'b' for blue and '-' for solid line, so 'b-' means draw a blue line between the points. \n",
"\n",
"For example, to plot the same data with no connecting line but with red circles to mark the points, you would do it this way, with the 'ro' string, where the r stands for the color red, and o tell matplotlib to use a circular marker."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nHcrhXbty9aZNue6SS3L1pk05vGuXrwACXXMdAM57s7Oz2bd/f7J/f1prjvkDxB4AOmPjDzAgAACg\nQwIAADokAACgQwIAADokAACgQwIAADokAACgQwIAADokAACgQwIAADokAACgQwIAADokAACgQwIA\nADokAACgQwIAADokAACgQwIAADokAACgQwIAADokAACgQwIAADokAACgQwIAADokAACgQwIAADok\nAACgQwIAADokAACgQwIAADokAACgQwIAADokAACgQwIAADokAACgQwJgirXWJj0CAFNKAEyZpaWl\n7N29O9s3b871l16a7Zs3Z+/u3VlaWpr0aABMkedMegDO3tLSUm7Yti03LS5m3/JyKklLcvCuu3LD\nQw/lvkOHMjs7O+kxAZgC9gBMkXfefHNuWlzMjuHGP0kqyY7l5exZXMztt9wyyfEAmCICYIo8cv/9\nuWZ5+ZSP7VheziMHDpzjiQCYVgJgSrTWcuGJE0/+5X+ySnLBiRNODATgrAiAKVFVOb5hQ063eW9J\njm/YkKrTJQIA/H8CYIpcce21OThz6v/JHpyZyct37jzHEwEwrQTAFHnTbbfljrm5PDAz8+SegJbk\ngZmZ3Dk3lzfeeuskxwNgigiAKTI7O5v7Dh3K4V27cvWmTbnukkty9aZNObxrl68AAjAS1wGYMrOz\ns9m3f3+yf39aa475AzAWewCmmI0/AOMSAADQIQEAAB0SAFNsYWFh0iNMHetsPNbb6Kyz8Vhv586a\nBUBV/fuqeqyq/k9Vfbyq/slafVav/EMZnXU2HuttdNbZeKy3c2dNAqCq/kWS25PsTfKPk3w6ycGq\neuFafB4AMJq12gOwJ8m7W2vva619PsmNSb6X5LVr9HkAwAhWPQCqakOSrUk+/MSyNrhDzR8n2bba\nnwcAjG4tLgT0wiR/I8njJy1/PMlLTvH85ybJ4uLiGoxyfjt27FiOHj066TGminU2HuttdNbZeKy3\n0Txl2/ncUV9bq3372Kr68SRfTbKttXb4Kct/M8krWmvbTnr+v0ry+6s6BAD05dWttfeP8oK12APw\nrST/N8lFJy2/KMk3TvH8g0leneSLSb6/BvMAwPnquUk2ZbAtHcmq7wFIkqr6eJLDrbU3DH+vJF9O\n8luttXes+gcCACNZq5sB3ZHkd6vqSJJHM/hWwAVJfneNPg8AGMGaBEBr7d7hd/7fmsGu/08luaa1\n9s21+DwAYDRrcggAAFjf3AsAADokAACgQxMPADcNGk1VXVlVB6rqq1W1XFU7Jz3TeldVb6mqR6vq\nu1X1eFV9oKp+ctJzrWdVdWNVfbqqjg1/PlZVOyY917Spqv8w/Hd6x6RnWa+qau9wHT3153OTnmsa\nVNXfrarfq6pvVdX3hv9mt5zt6ycaAG4aNJYLMzip8vVJnMBxdq5M8ttJXpZke5INSf6oqn50olOt\nb19J8uYkWzK4tPdDST5YVXMTnWqKDP+YeV0G/13jzD6bwQnjFw9/Xj7Zcda/qnp+kkeS/HWSa5LM\nJXljkv991u8xyZMAT3O9gK9kcL2At09ssClRVctJrm+tHZj0LNNkGJh/lcGVKR+e9DzToqq+neRN\nrbX3THqW9a6qfizJkST/LsmvJ/lka+2myU61PlXV3iTXtdbO+i9Xkqr6jQyuuPvKcd9jYnsA3DSI\nCXp+BntPvjPpQaZBVc1U1b/M4FoehyY9z5S4K8n9rbWHJj3IlPiJ4WHNL1TVPVV16aQHmgLXJvlE\nVd07PLR5tKp+bZQ3mOQhgDPdNOjicz8OPRjuZXpXkodba44znkFV/XRVLWWwi/HuJL84vL03ZzCM\npZ9J8pZJzzIlPp7kVzLYjX1jks1J/rSqLpzkUFPgxRnsYfqfSa5O8l+T/FZV/euzfYO1uhIgrFd3\nJ/mpJFdMepAp8PkklyfZmOSfJ3lfVb1CBJxeVb0og8Dc3lo7Mel5pkFr7anXsP9sVT2a5EtJfimJ\nw02nN5Pk0dbarw9//3RV/XQGEfV7Z/sGkzLqTYNgRarqd5L8QpJXtda+Pul51rvW2g9ba/+rtfbJ\n1trNGZzM9oZJz7XObU3yt5McraoTVXUiySuTvKGqfjDcA8UZtNaOJfnzJJdNepZ17utJFk9atpjk\n753tG0wsAIZ1fCTJVU8sG/7juCrJxyY1F+en4cb/uiT/rLX25UnPM6VmkvzNSQ+xzv1xkn+YwSGA\ny4c/n0hyT5LLm0uvPqvhCZSXZbCB4/QeSfKSk5a9JIO9J2dl0ocA3DRoRMPjYpcleeIviRdX1eVJ\nvtNa+8rkJlu/quruJPNJdiY5XlVP7HU61lpzC+pTqKr/nOSBDO7iOZvBLbtfmcGxRk6jtXY8ydPO\nLamq40m+3Vo7+a81klTVO5Lcn8GG65Ik/ynJiSQLk5xrCtyZ5JGqekuSezP4mvOvJfm3Z/sGEw0A\nNw0ay0uTfCSDs9hbBtdRSJL3JnntpIZa527MYF199KTlv5rkfed8munwdzL4/9SPJzmW5DNJrnZW\n+1j81X9mL0ry/iQvSPLNJA8n+bnW2rcnOtU611r7RFX9YpLfyOCrpo8leUNr7b+d7Xu4GRAAdGji\nlwIGAM49AQAAHRIAANAhAQAAHRIAANAhAQAAHRIAANAhAQAAHRIAANAhAQAAHRIAANCh/wd23cZx\ntbYVBQAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x106bffeb8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Import the plot module\n",
"import matplotlib.pyplot as plt\n",
"\n",
"# Plot the data as red (r) circles (o)\n",
"plt.plot([1,2,3,4], [1,4,9,16], 'ro')\n",
"\n",
"# Set the max and min values for the x and y axes\n",
"plt.axis([0, 6, 0, 20])\n",
"\n",
"# Display the plot\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Student Challenge:** Try plotting with the string 'ro-' and see what happens, but pause first. What do you think will happen?"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Generally, you will use numpy arrays for the data you are plotting. In fact, all sequences are converted to numpy arrays internally. The example below illustrates how to plot several lines with different format styles in one command using arrays."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[ 0. 0.2 0.4 0.6 0.8 1. 1.2 1.4 1.6 1.8 2. 2.2 2.4 2.6 2.8\n",
" 3. 3.2 3.4 3.6 3.8 4. 4.2 4.4 4.6 4.8]\n"
]
},
{
"data": {
"image/png": "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\nDr3HYQAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10a368198>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"\n",
"# Create evenly sampled between 0 and 5 in steps of 0.2\n",
"t = np.arange(0., 5., 0.2)\n",
"print(t)\n",
"\n",
"# red dashes (t), blue squares (t squared) and green triangles (t cubed)\n",
"plt.plot(t, t, 'r--', t, t**2, 'bs', t, t**3, 'g^')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"There are many optional arguments, such as commands to control the linewidth. See the above mentioned tutorial for a full list."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10fa3a208>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.plot(t, t**2, linewidth=4.0)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Multiple graphs in a figure\n",
"Below is a script to create two subplots. The functions being plotted are:\n",
"$$f(t) = e^{-t}cos(2\\pi t)$$\n",
"$$f(t) = cos(2\\pi t)$$\n",
"Just because they make a pretty plot. Don't worry about the math."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n58L++wcnmx8MGwb33GMBDl26pNyciMxS1bxE7o1cFJBviMBLL6V/iOS4cbBhg00O1SECV14Jn35q\nE0Q688FXgWKpAAAgAElEQVQHsHgxXHVVzfdedRVs2gTz5/svl5/Mnw+PPgqLFtV872GH1Y3JPx7y\n2b599ZM/QEkJ3HUXPPaY/3L5zbp1cOqpnkz+SZPoViGMh6cmoEWLzLFUF8wD8+YlZs5av161SRPV\nSy7xXyY/Of101TZtVDdvrvnekhLzF6Q7111nZoHVqxO7f/Ro1eOOS28z59//blE+Gzcmdv+555rP\npzq/ULpQWupZUyRhAsqcHcCee1pc8ahR6Z85etBBiZl0mjWDK66wn+lKaamZcy68MLFVblYWNG5s\n73FJif/y+UFJicW6n3oqJJoLs3mz7Q7TuXbW889btm+TJondf+mlljD1zjv+yuUn62LFEeqFMxVn\njgIAGDzYskg//TRsSWrH3/4Gv/xlclmvf/sb/OMf/snkN1lZNqndfXfir/nhB7MLP/KIf3L5ycSJ\nsHq12bcT5fTTzecxZox/cvnJN9/Y9zKZMR91lCVCpuuYf/wROnQI9fuZWQrgjDNs1ZDoCiNqPPWU\n1ThKNutVNX1rI8XLHTRokPhrWrSAnJz0nRi2brVs5xOTOOK4ZUs47jh4+eVyW3o68fLL9vPssxN/\nTXY2nHOO+XzScVf/xhu2c+vTJzQRMksBtGoFTz4J++0XtiTJM3++Pc45J/nX/uEPVjZg0ybv5fKT\n//3P6r/UJvV/8GCYMiU9nf4nnGCyN2qU3OsGD7ZItxkz/JHLT155BQ4/3CK9kuHBB+Gtt9Izyu2V\nV6BzZ6cAAqWszEwKK1eGLUlyvPWW/TzttORf+4tfWGGtdKsb8957pgT22CP518b/T2+/7a1MfrNu\nXe0V9UknWQHEdFsNl5WZ8vr1r5N/bXzijxfISxeKiy267dRTQ1VemacAVq2ysLnnnw9bkuQYOxYO\nPdRshsly1FHmGB071nOxfGXsWHOCHnZY8q894ABTHOk25vvug913N9NAsrRsCe++a+ajdKJePSv6\nloz9vyJ33WUhlOlUEXb8eHuPTz45VDEyTwF06GATaTpNDKpw8MFw0UW1e31ODgwcaGNOl9VhSYlN\nZieeWLtKnyJw661w1lney+YnY8daeeucnNq3sXo1rF/vnUx+88knlttSW/be28plT5vmnUx+0727\n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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10d597320>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"\n",
"def f(t):\n",
" return np.exp(-t) * np.cos(2*np.pi*t)\n",
"\n",
"t1 = np.arange(0.0, 5.0, 0.1)\n",
"t2 = np.arange(0.0, 5.0, 0.02)\n",
"\n",
"plt.figure(1)\n",
"plt.subplot(2,1,1)\n",
"plt.plot(t1, f(t1), 'bo', t2, f(t2), 'k')\n",
"\n",
"plt.subplot(2,1,2)\n",
"plt.plot(t2, np.cos(2*np.pi*t2), 'r--')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"What did this do? We created a figure, then issued a subplot command.\n",
"\n",
"plt.subplot(2,1,1) means there are:\n",
"two rows, one column and this is the 1st plot\n",
"\n",
"plt.subplot(2,1,2) means there are:\n",
"two rows, one column and this is the 2nd plot\n",
"\n",
"What if we want the two plots side-by-side instead of stacked vertically?"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\njQvDKbmMAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10fe07438>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure(1)\n",
"\n",
"# One row, two columns, 1st plot\n",
"plt.subplot(1,2,1)\n",
"plt.plot(t1, f(t1), 'bo', t2, f(t2), 'k')\n",
"\n",
"# One row, two columns, 2nd plot\n",
"plt.subplot(1,2,2)\n",
"plt.plot(t2, np.cos(2*np.pi*t2), 'r--')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Labels\n",
"It is easy to label the axis and give the plot a title. Here we plot $ y = x^2$ for x from 0 to 10 in steps of 0.1"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10fbcb1d0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"\n",
"x = np.arange(0, 10, .1)\n",
"y = x * x\n",
"plt.plot(x,y)\n",
"plt.xlabel('X-axis') \n",
"plt.ylabel('Y-axis')\n",
"plt.title ('A Parabola')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a id='types' /a>\n",
"## Different types of plots\n",
"[Top of notebook](#Top)\n",
"\n",
"Matplotlib can do more than plot simple x-y line and scatter plots. Frankly, I can never keep all the different plots in my brain, so I just look in the [matplotlib gallery](http://matplotlib.org/gallery.html), find an example close to what I want to do and modify the code. (See, teachers do that too. :-)\n",
"\n",
"These examples show lots of matplotlib features. Don't try to learn them all; just notice what is possible."
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nP7uhjWu0e1jvAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10dadafd0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"\"\"\"\n",
"Simple demo of a horizontal bar chart.\n",
"\"\"\"\n",
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"\n",
"# Example data\n",
"people = ('Tom', 'Dick', 'Harry', 'Slim', 'Jim')\n",
"y_pos = np.arange(len(people))\n",
"performance = 3 + 10 * np.random.rand(len(people)) #Random bar lengths, different everytime you run this cell.\n",
"error = np.random.rand(len(people)) #Random error bars.\n",
"\n",
"# barh is specifies a horizontal bar chart\n",
"plt.barh(y_pos, performance, xerr=error, align='center', alpha=0.4)\n",
"plt.yticks(y_pos, people)\n",
"plt.xlabel('Performance')\n",
"plt.title('How fast do you want to go today?')\n",
"\n",
"plt.show()\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10da2c978>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"\"\"\"\n",
"Simple demo of the fill function.\n",
"\"\"\"\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"\n",
"\n",
"x = np.linspace(0, 1)\n",
"y = np.sin(4 * np.pi * x) * np.exp(-5 * x)\n",
"\n",
"plt.fill(x, y, 'r')\n",
"plt.grid(True)\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10d597cc0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"\"\"\"\n",
"Exploded Pie Chart\n",
"\"\"\"\n",
"import matplotlib.pyplot as plt\n",
"\n",
"# The slices will be ordered and plotted counter-clockwise.\n",
"labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'\n",
"sizes = [15, 30, 45, 10]\n",
"colors = ['yellowgreen', 'gold', 'lightskyblue', 'lightcoral']\n",
"explode = (0, 0.1, 0, 0) # only \"explode\" the 2nd slice (i.e. 'Hogs') Change 0.1 to vary the explosion offset.\n",
"\n",
"plt.pie(sizes, explode=explode, labels=labels, colors=colors,\n",
" autopct='%1.1f%%', shadow=True, startangle=90)\n",
"# Set aspect ratio to be equal so that pie is drawn as a circle.\n",
"plt.axis('equal')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Student Challenge:** See if you can duplicate one of the other examples from the matplotlib gallery here."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a id='Terminal' /a>\n",
"## Martian Challenge: Terminal Velocity\n",
"[Top of notebook](#Top)\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"### Terminal Velocity\n",
"If you jumped from an airplane on Earth you would fall ever faster as you accelerated under Earth's gravity, but because the amount of drag created by our atmosphere increases with velocity, the faster you fall the more the air drag resists further acceleration. Notice from the equation below (scroll down a few cells) that the force of drag actually increases with the *square* of velocity, so double the velocity and you get four times the drag. Triple the velocity and you get nine times the drag. This is why aerodynamic design is so important for fast moving vehicles such as cars and airplanes, but no big deal for travel in outer space where there is no atmosphere. (Spaceships don't have to be pointy.)\n",
"\n",
"As you fall faster and faster the force of gravity stays the same but drag rapidly increases until gravity and drag eventually balance and the net force goes to zero. Zero force doesn't mean zero velocity; it means constant velocity. Your velocity no longer increases. You will continue to fall at a constant rate known as the \"terminal velocity,\" which it would be if your parachute didn't open. The parachute increases the drag, lowering the terminal velocity to something your body can handle when you touch down.\n",
"\n",
"![Terminal Velocity](http://tap.iop.org/mechanics/drag/209/img_full_46359.gif)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Is your terminal velocity higher on Earth or on Mars?\n",
"Earth has a stronger gravity, so the force of accelation is greater, but Earth also has a thicker atmosphere, hence greater drag. It is not intuitively obvious whether your terminal velocity is higher on Earth or on Mars, but it is important because NASA uses parachutes to land materials on the Martian surface, and this was discussed in *The Martian* during the initial planning to send extra food supplies to Whatney. Unfortunately, that rocket launch failed.\n",
"\n",
"![Martian Parachute](http://mars.nasa.gov/mer/mission/images/parachute2_medium.jpg)\n",
"\n",
"So let's see if we can answer the question of which planet has a higher terminal velocity! (You guys are getting good now, we we can tackle tricker calculations.)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### What would you weigh on mars?\n",
"What we call your \"weight\" is just the force of gravity acting on you. As you probably remember from high school, F=ma, or force equals mass times acceleration. On the surface of the Earth the acceleration is 9.81 $m/s^2$. Let's use Python to do some simple calculations. \n",
"\n",
"Assume you have a mass of 85 kilograms. What do you weigh on Earth?"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Force = 833.85 (Newtons)\n"
]
}
],
"source": [
"# Newton's second law: F = ma \n",
"mass = 85.0\n",
"acceleration = 9.81\n",
"force = mass * acceleration\n",
"print('Force = ', force, '(Newtons)')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Most Americans think in terms of pounds not Newtons, so let's convert. One Newton = 0.224809 pounds of force."
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"A person with a mass of 85.0 kilograms weighs 187.46 pounds.\n"
]
}
],
"source": [
"newtons2pounds = 0.224809\n",
"weight = force * newtons2pounds\n",
"print('A person with a mass of {0} kilograms weighs {1:.2f} pounds.'.format(mass, weight))"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"The equation for the force of drag is: \n",
"$$ F_d = \\frac{1}{2} C \\rho A v^2 $$\n",
"where $F_d$ is the force of drag, C is the coefficent of drag, $\\rho$ is the density of the fluid (air in this case), A is the area of the object, and $v$ is the velocity. We will use the following values:\n",
"$\\rho$ = 1.225 $kg/m^3$, C = 0.4, A = 1.0 $m^2$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Student Challenge\n",
"\n",
"That's your weight on Earth. But on the surface of Mars the acceleration is only 3.7 $m/s^2$, which is just over a third as much as on Earth. Write a program to calculate how much the same 85 kg person would weigh standing on Mars. "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now let's plot the force of drag as a function of velocity."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n1gAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fd959715400>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"\n",
"# Magic command to make plots appear in the notebook\n",
"%matplotlib inline \n",
"\n",
"rho = 1.225 # Density of air\n",
"C = 0.4 # Drag coefficient\n",
"A = 1.0 # Area\n",
"\n",
"# Plot the force of drag as a function of velocity\n",
"v = np.arange(1,70) # Generate a range of velocities\n",
"Fd = 0.5*C*rho*A*v**2 # Calculate the force of drag\n",
"\n",
"#Plot velocity vs. drag\n",
"plt.plot(v,Fd)\n",
"plt.xlabel('Velocity in m/s')\n",
"plt.ylabel('Force of drag in Newtons')\n",
"plt.grid() # Turn on the grid lines\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"Recall that we calculated that for someone who weighs 85 kilograms (187 lbs) the force of gravity was 834 Newtons. We see from our graph that the corresponding terminal velocity is about 58 m/s. 1 m/s = 2.23694 mph, so..."
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Your terminal velocity on Earth is 129.7 mph.\n"
]
}
],
"source": [
"# Find the terminal velocity on Earth in mph\n",
"velocity = 58 * 2.23694\n",
"print('Your terminal velocity on Earth is {0:0.1f} mph.'.format(velocity))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"No matter how high up you are when you jump out of an airplane on Earth, your terminal velocity will be about 130 mph. Crashing into the ground at that speed does sound terminal, though there are [survivor stories.](http://www.guinnessworldrecords.com/world-records/highest-fall-survived-without-parachute/)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"### But what about on Mars?\n",
"For a skydiver on Mars with a faulty parachute there is good news and bads news. Which to you want first? Okay, here's the good new. The weak gravity means you will accelate at a slower rate. The bad news? The atmosphere is a lot thinner so there is less drag to slow you down. So what would be your terminal velocity on Mars?\n",
"\n",
"### Student Task\n",
"Redo do the calculation and plot above using force of Martian gravity on an 85 kilogram person, and a Martian atmospheric density of 1/100th of the Earth's."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## STUDENT FEEDBACK\n",
"Edit this markdown cell to provide feedback on this notebook. \n",
"\n",
"Specifically:\n",
"\n",
"Roughly, how much time did you spend?\n",
"\n",
"What, if anything, gave you trouble?\n",
"\n",
"What part did you like best?\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"# Supplemental Activity\n",
"Just to show how spiffy Matplotlib can be let's embed the equation we're plotting on the graph using the LaTex syntax for equations we learned a little about last week."
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10d98e240>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"% matplotlib inline\n",
"\n",
"t = np.arange(0,2*np.pi,.01)\n",
"x = np.sin(2*t)\n",
"y = np.sin(3*t)\n",
"ax = plt.plot(x,y)\n",
"plt.xlabel('$x = sin(2t)$')\n",
"plt.ylabel('$y = sin(3t)$')\n",
"plt.title('A Parametric Plot')\n",
"plt.text(-.25,-.75,'How cool is this?')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"** Student Challenge ** The moon is revolving around the Earth while the earth revolves around the sun. So what sort of path does the moon trace through space. Plot the parametric equations below to see.\n",
"\n",
"$$ x = Rcos(t) + cos(12t)$$\n",
"$$ y = Rsin(t) + sin(12t)$$\n",
"\n",
"In these equations if 1 is the earth-moon distance, R is how many earth-moon distances there are between the earth and the sun. Set R = 10, though the real R is the earth-sun distance about 189. You can try 189 too, but the loop-de-loops performed by the moon will be hard to see at that scale."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": []
}
],
"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.6.0"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment