{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Numpy and Matplotlib" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Reference documents\n", "\n", "1. Tentative Numpy Tutorial\n", "2. NumPy Reference\n", "3. NumPy for MATLAB Users\n", "4. NumPy for R (and S-Plus) Users\n", "5. NumPy and Matplotlib (Practical Computing for Biologists)\n", "6. Matplotlib: Plotting" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## What is Numpy?\n", "\n", "While the Python language is an excellent tool for general-purpose programming, it was not designed specifically for mathematical and scientific computing. Numpy allows for:\n", "\n", "* Efficient array computing in Python\n", "* Efficient indexing/slicing of arrays\n", "* Mathematical functions that operate on an entire array\n", "\n", "The critical thing to know is that Python **for** loops are very slow! One should try to use array-operations as much as possible." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First, let's import the **numpy** module. There are multiple ways we can do this. In the following examples, zeros is a **numpy** routine which we will see later, and depending on how we import numpy we call it in different ways:\n", "\n", "* 'import numpy' imports the entire numpy module --> 'numpy.zeros()' \n", "* 'import numpy as np' imports the entire numpy module and renames it --> 'np.zeros()' \n", "* 'from numpy import *' imports the entire numpy module (more or less) --> 'zeros()' \n", "* 'from numpy import zeros' imports *only* the zeros() routine\n", "\n", "After all that preamble, let's get started:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import numpy as np" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "###Creating numpy arrays" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can create an array from scratch, similar to how you might create a list / tuple / whatever:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1 2 3]\n" ] } ], "source": [ "a = np.array((1,2,3)) # or np.array((1,2,3))\n", "print a" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can also convert a list or tuple of elements into an array:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0.2, 0.4, 0.6]\n", "[ 0.2 0.4 0.6]\n" ] } ], "source": [ "myList = [0.2, 0.4, 0.6]\n", "myArray = np.array(myList)\n", "print myList\n", "print myArray" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n" ] } ], "source": [ "print type(myArray)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "float64\n" ] } ], "source": [ "print myArray.dtype" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Arrays can be created with non-numbers as well, but all the elements of an array have to have the same type. i.e., arrays are *homogeneous*. Once an array has been created, its dtype is fixed and it can only store elements of the same type. However, the dtype can explicitly be changed (we'll see this later)." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ True False True]\n" ] } ], "source": [ "# an array of booleans\n", "\n", "print np.array([True, False, True])" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['a' 'b' 'c']\n" ] } ], "source": [ "# an array of characters/strings\n", "\n", "print np.array(['a', 'b', 'c'])" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['2' '3' 'c']\n" ] } ], "source": [ "print np.array([2, 3, 'c'])" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ 2. 3. 0.4]\n" ] } ], "source": [ "print np.array([2, 3, 0.4])" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ { "ename": "ValueError", "evalue": "invalid literal for long() with base 10: 'C'", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32mprint\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0marray\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m3\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'C'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdtype\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mint\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;31mValueError\u001b[0m: invalid literal for long() with base 10: 'C'" ] } ], "source": [ "print np.array([2, 3, 'C'], dtype=int)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can access elements of an array in the same way you access elements of a list:" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ 0.2 0.4 0.6]\n" ] } ], "source": [ "print myArray" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.4\n" ] } ], "source": [ "print myArray[-2]" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.4\n", "[ 0.4]\n" ] } ], "source": [ "print myArray[1]\n", "print myArray[1:2]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Multidimensional arrays work like you might expect:" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[3 8 0 1]\n", " [4 0 0 9]\n", " [2 2 7 1]\n", " [5 1 0 8]]\n", "(4, 4)\n" ] } ], "source": [ "newArray = np.array([ [3, 8, 0, 1],\n", " [4, 0, 0, 9],\n", " [2, 2, 7, 1],\n", " [5, 1, 0, 8]] )\n", "print newArray\n", "print newArray.shape" ] }, { "cell_type": "code", "execution_count": 34, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1 9 1 8]\n" ] } ], "source": [ "print newArray[:,-1]" ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "9\n" ] } ], "source": [ "print newArray[1,3]" ] }, { "cell_type": "code", "execution_count": 36, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[5 1]\n" ] } ], "source": [ "print newArray[3,0:2]" ] }, { "cell_type": "code", "execution_count": 37, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[3 4 2 5]\n" ] } ], "source": [ "print newArray[:,0] # print out an individual column" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If you know the size of the array you want, you can create an array of ones or zeros or an empty array:" ] }, { "cell_type": "code", "execution_count": 39, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ 1. 1. 1.]\n", "(3,)\n" ] } ], "source": [ "b = np.ones(3)\n", "print b\n", "print b.shape" ] }, { "cell_type": "code", "execution_count": 40, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[0 0 0]]\n", "\n", "int64\n" ] } ], "source": [ "c = np.zeros((1,3), int)\n", "print c\n", "print type(c)\n", "print c.dtype" ] }, { "cell_type": "code", "execution_count": 42, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[3, 5, 6]\n", "(3, 5, 6)\n" ] } ], "source": [ "print [3, 5, 6]\n", "print (3, 5, 6)" ] }, { "cell_type": "code", "execution_count": 45, "metadata": { "collapsed": false }, "outputs": [ { "ename": "TypeError", "evalue": "'tuple' object does not support item assignment", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0ma\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;36m3\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m5\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m6\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0mb\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0;36m3\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m5\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m6\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0mb\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 4\u001b[0m \u001b[0;32mprint\u001b[0m \u001b[0mb\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mTypeError\u001b[0m: 'tuple' object does not support item assignment" ] } ], "source": [ "a = [3,5,6]\n", "b = (3,5,6)\n", "b[0] = 1\n", "print b" ] }, { "cell_type": "code", "execution_count": 41, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ 0.+0.j 0.+0.j 0.+0.j]\n", "complex128\n" ] } ], "source": [ "d = np.zeros(3, complex)\n", "print d\n", "print d.dtype" ] }, { "cell_type": "code", "execution_count": 47, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ 3.14 3.14 3.14 0. ]\n" ] } ], "source": [ "# slightly faster, but be careful to fill it with actual values!\n", "\n", "f = np.empty(4)\n", "f.fill(3.14)\n", "f[-1] = 0\n", "print f" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Create an identity array:" ] }, { "cell_type": "code", "execution_count": 48, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[1 0 0 0 0]\n", " [0 1 0 0 0]\n", " [0 0 1 0 0]\n", " [0 0 0 1 0]\n", " [0 0 0 0 1]]\n" ] } ], "source": [ "print np.eye(5, dtype=int) # default data type is 'float'" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Number generation\n", "\n", "Here are a few ways to generate uniformly spaced numbers over an interval (including both endpoints), similar to range():" ] }, { "cell_type": "code", "execution_count": 49, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[-5. -4.5 -4. -3.5 -3. -2.5 -2. -1.5 -1. -0.5 0. 0.5 1. 1.5 2.\n", " 2.5 3. 3.5 4. 4.5]\n" ] } ], "source": [ "print np.arange(-5, 5, 0.5) # excludes upper endpoint" ] }, { "cell_type": "code", "execution_count": 52, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[-3. -2.7 -2.4 -2.1 -1.8 -1.5 -1.2 -0.9 -0.6 -0.3 0. 0.3 0.6 0.9 1.2\n", " 1.5 1.8 2.1 2.4 2.7 3. ]\n" ] } ], "source": [ "print np.linspace(-3, 3, 21) # includes both endpoints" ] }, { "cell_type": "code", "execution_count": 51, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ 10. 100. 1000. 10000.]\n" ] } ], "source": [ "print np.logspace(1, 4, 4)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Some examples of random number generation using numpy" ] }, { "cell_type": "code", "execution_count": 53, "metadata": { "collapsed": false, "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ 0.92068137 0.72312715 0.27224283 0.25495314 0.86758637 0.09651996\n", " 0.58958672 0.69966758 0.69903476 0.49420249]\n", "[[ 0.57298993 0.55321172]\n", " [ 0.50420865 0.08798024]]\n" ] } ], "source": [ "print np.random.rand(10)\n", "print np.random.rand(2,2)" ] }, { "cell_type": "code", "execution_count": 55, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ nan]\n" ] } ], "source": [ "print np.()" ] }, { "cell_type": "code", "execution_count": 56, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[57 53 3 32 56]\n" ] } ], "source": [ "print np.random.randint(2,100,5)" ] }, { "cell_type": "code", "execution_count": 57, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[ 11.10114537 10.88844565 12.22318922 11.10845409]\n", " [ 10.66948063 10.44214431 7.6900988 5.2654093 ]]\n" ] } ], "source": [ "print np.random.normal(10, 3, (2,4))" ] }, { "cell_type": "code", "execution_count": 58, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[-1.10944935 -0.19801826 -0.32755373 -1.46807797 -0.97970284]\n" ] } ], "source": [ "print np.random.randn(5) # samples 5 times from the standard normal distribution" ] }, { "cell_type": "code", "execution_count": 59, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ 2.22645411 4.34850779 3.648477 4.16902654 2.53367402]\n" ] } ], "source": [ "print np.random.normal(3, 1, 5) # samples 5 times from a Gaussian with mean 3 and std dev 1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Working with and manipulating arrays" ] }, { "cell_type": "code", "execution_count": 60, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[3 8 0 1]\n", " [4 0 0 9]\n", " [2 2 7 1]\n", " [5 1 0 8]]\n" ] } ], "source": [ "print newArray" ] }, { "cell_type": "code", "execution_count": 63, "metadata": { "collapsed": false }, "outputs": [ { "ename": "ValueError", "evalue": "total size of new array must be unchanged", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32mprint\u001b[0m \u001b[0mnewArray\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mreshape\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m7\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;31mValueError\u001b[0m: total size of new array must be unchanged" ] } ], "source": [ "print newArray.reshape(2,7)" ] }, { "cell_type": "code", "execution_count": 62, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[3 8]\n", " [0 1]\n", " [4 0]\n", " [0 9]\n", " [2 2]\n", " [7 1]\n", " [5 1]\n", " [0 8]]\n" ] } ], "source": [ "print newArray.reshape(-1,2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "None of these manipulations have modified the original newArray:" ] }, { "cell_type": "code", "execution_count": 64, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[3 8 0 1]\n", " [4 0 0 9]\n", " [2 2 7 1]\n", " [5 1 0 8]]\n" ] } ], "source": [ "print newArray" ] }, { "cell_type": "code", "execution_count": 65, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[3 8 0 1 4 0 0 9]\n", " [2 2 7 1 5 1 0 8]]\n", "[[3 8 0 1]\n", " [4 0 0 9]\n", " [2 2 7 1]\n", " [5 1 0 8]]\n" ] } ], "source": [ "reshapedArray = newArray.reshape(2,8)\n", "print reshapedArray\n", "print newArray" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Above we saw how to index arrays with single numbers and slices, just like Python lists. But arrays allow for a more sophisticated kind of indexing which is very powerful: you can index an array with another array, and in particular with an array of boolean values. This is particluarly useful to extract information from an array that matches a certain condition." ] }, { "cell_type": "code", "execution_count": 66, "metadata": { "collapsed": false }, "outputs": [], "source": [ "redshifts = np.array((0.2, 1.56, 6.3, 0.003, 0.9, 4.54, 1.1))" ] }, { "cell_type": "code", "execution_count": 67, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ 2.00000000e-01 1.56000000e+00 6.30000000e+00 3.00000000e-03\n", " 9.00000000e-01 4.54000000e+00 1.10000000e+00]\n" ] } ], "source": [ "print redshifts" ] }, { "cell_type": "code", "execution_count": 68, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ True False False True True False False]\n", "[ 0.2 0.003 0.9 ]\n" ] } ], "source": [ "close = redshifts < 1\n", "print close\n", "print redshifts[close]" ] }, { "cell_type": "code", "execution_count": 72, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2\n", "[ 6.3 4.54]\n" ] } ], "source": [ "far = np.where(redshifts > 2)\n", "print far[0][0]\n", "print redshifts[far]" ] }, { "cell_type": "code", "execution_count": 73, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(array([1, 6]),)\n", "[ 1.56 1.1 ]\n" ] } ], "source": [ "middle = np.where( (redshifts >= 1) & (redshifts <= 2) )\n", "print middle\n", "print redshifts[middle]" ] }, { "cell_type": "code", "execution_count": 75, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[False True False False False False True]\n" ] } ], "source": [ "print (redshifts >= 1) & (redshifts <= 2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Mathematical operations on arrays\n", "\n", "Math with arrays is straightforward and easy. For instance, let's say we want to multiply every number in a group by 3. If we try to do that with a list:" ] }, { "cell_type": "code", "execution_count": 76, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[3, 6, 7, 2, 3, 6, 7, 2]\n" ] } ], "source": [ "myList = [3, 6, 7, 2]\n", "print 2*myList" ] }, { "cell_type": "code", "execution_count": 77, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ 6 12 14 4]\n" ] } ], "source": [ "myArray = np.array([3, 6, 7, 2])\n", "print 2*myArray" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In general, mathematical operations on arrays are done **element-by-element**:" ] }, { "cell_type": "code", "execution_count": 78, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0 1 2 3]\n", "[10 11 12 13]\n" ] } ], "source": [ "arr1 = np.arange(4)\n", "arr2 = np.arange(10,14)\n", "print arr1\n", "print arr2" ] }, { "cell_type": "code", "execution_count": 79, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[10 12 14 16]\n", "[-10 -10 -10 -10]\n", "[ 0 11 24 39]\n", "[0 0 0 0]\n" ] } ], "source": [ "print arr1 + arr2\n", "print arr1 - arr2\n", "print arr1 * arr2\n", "print arr1 / arr2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notice in particular that multiplication is element-wise and is NOT a dot product or regular matrix multiplication." ] }, { "cell_type": "code", "execution_count": 80, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ 3.5 4.5 5.5 6.5]\n" ] } ], "source": [ "print 3.5 + arr1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the last example, numpy understood the command to be \"add 3.5 to every element in arr1.\" That is, it converts the scalar 3.5 into an array of the appropriate size. Since the new array is filled with floats, and arr1 is filled with ints, the summed array is an array of floats.\n", "\n", "### Broadcasting with numpy\n", "\n", "The broadcasting rules allow numpy to:\n", "\n", "* *create* new dimensions of length 1 (since this doesn't change the size of the array)\n", "* 'stretch' a dimension of length 1 that needs to be matched to a dimension of a different size.\n", "\n", "So in the above example, the scalar 1.5 is effectively:\n", "\n", "* first 'promoted' to a 1-dimensional array of length 1\n", "* then, this array is 'stretched' to length 4 to match the dimension of `arr1`.\n", "\n", "After these two operations are complete, the addition can proceed as now both operands are one-dimensional arrays of length 4.\n", "\n", "This broadcasting behavior is in practice enormously powerful, especially because when numpy broadcasts to create new dimensions or to 'stretch' existing ones, it doesn't actually replicate the data. In the example above the operation is carried *as if* the 1.5 was a 1-d array with 1.5 in all of its entries, but no actual array was ever created. This can save lots of memory in cases when the arrays in question are large and can have significant performance implications." ] }, { "cell_type": "code", "execution_count": 81, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[10 11 12 13]\n" ] } ], "source": [ "arr1 += 10\n", "print arr1" ] }, { "cell_type": "code", "execution_count": 82, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0 0 0 0]\n" ] } ], "source": [ "arr1.fill(0)\n", "print arr1" ] }, { "cell_type": "code", "execution_count": 83, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[10 11 12 13]\n", "11.5 11.5\n", "46 46\n", "10 10\n" ] } ], "source": [ "print arr2\n", "print np.mean(arr2), arr2.mean()\n", "print np.sum(arr2), arr2.sum()\n", "print np.min(arr2), arr2.min()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Numpy I/O with arrays\n", "\n", "Numpy makes it easy to write arrays to files and read them. It can write both text and binary files. In a text file, the number $\\pi$ could be written as \"3.141592653589793\", for example: a string of digits that a human can read, with in this case 15 decimal digits. In contrast, that same number written to a binary file would be encoded as 8 characters (bytes) that are not readable by a human but which contain the exact same data that the variable `pi` had in the computer's memory.\n", "\n", "* Text mode: occupies more space, precision can be lost (if not all digits are written to disk), but is readable and editable by hand with a text editor. Can *only* be used for one- and two-dimensional arrays.\n", "\n", "* Binary mode: compact and exact representation of the data in memory, can't be read or edited by hand. Arrays of any size and dimensionality can be saved and read without loss of information.\n", "\n", "In the following examples, we'll only be talking about reading and writing arrays in text mode." ] }, { "cell_type": "code", "execution_count": 85, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[ 0.39558761 0.40688139 0.17304988 0.8445151 0.57160838]\n", " [ 0.95838636 0.57521364 0.58982494 0.95418991 0.01794814]\n", " [ 0.60268159 0.65890725 0.89238717 0.75554629 0.74659523]\n", " [ 0.3253617 0.9003241 0.83747841 0.61111402 0.7536519 ]\n", " [ 0.42639395 0.54634399 0.05459465 0.96242149 0.42202277]\n", " [ 0.28657583 0.93159786 0.27406637 0.2621851 0.25151161]]\n" ] } ], "source": [ "arr3 = np.random.rand(6,5)\n", "print arr3" ] }, { "cell_type": "code", "execution_count": 97, "metadata": { "collapsed": false }, "outputs": [], "source": [ "np.savetxt('arrayFile.txt', arr3, fmt='%.2e', header='')" ] }, { "cell_type": "code", "execution_count": 98, "metadata": { "collapsed": false }, "outputs": [], "source": [ "arr4 = np.loadtxt('arrayFile.txt')" ] }, { "cell_type": "code", "execution_count": 99, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[ 0.396 0.407 0.173 0.845 0.572 ]\n", " [ 0.958 0.575 0.59 0.954 0.0179]\n", " [ 0.603 0.659 0.892 0.756 0.747 ]\n", " [ 0.325 0.9 0.837 0.611 0.754 ]\n", " [ 0.426 0.546 0.0546 0.962 0.422 ]\n", " [ 0.287 0.932 0.274 0.262 0.252 ]]\n" ] } ], "source": [ "print arr4" ] }, { "cell_type": "code", "execution_count": 100, "metadata": { "collapsed": false }, "outputs": [], "source": [ "## what if we want to skip the first and last rows? Or we just want columns 2 and 3?\n", "arr5 = np.genfromtxt('arrayFile.txt', skip_header=1, skip_footer=1, usecols=(2,3))" ] }, { "cell_type": "code", "execution_count": 101, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[ 0.59 0.954 ]\n", " [ 0.892 0.756 ]\n", " [ 0.837 0.611 ]\n", " [ 0.0546 0.962 ]]\n" ] } ], "source": [ "print arr5" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## What is Matplotlib?\n", "\n", "The [matplotlib](http://matplotlib.org) library is a powerful tool capable that can quickly produce simple plots for data visualization as well as complex publication-quality figures with fine layout control. Here, we will only provide a minimal introduction, but Google is your friend when it comes to creating the perfect plots. The pyplot tutorial (http://matplotlib.org/users/pyplot_tutorial.html) is a great place to get started, and the matplotlib gallery (http://matplotlib.org/gallery.html) has tons of information as well.\n", "\n", "Just as we typically use the shorthand `np` for Numpy, we will use `plt` for the `matplotlib.pyplot` module where the plotting functions reside." ] }, { "cell_type": "code", "execution_count": 102, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To plot a collection of x- and y-values:" ] }, { "cell_type": "code", "execution_count": 103, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 103, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": [ "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\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x = np.linspace(0, 2*np.pi, 50)\n", "y = np.sin(x)\n", "plt.plot(x, y)" ] }, { "cell_type": "code", "execution_count": 104, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 104, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": [ "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\n", "+Jy2AAAAAElFTkSuQmCC\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "### If you don't give it x values:\n", "plt.plot(np.random.rand(100))" ] }, { "cell_type": "code", "execution_count": 108, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": [ "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\n", "AElFTkSuQmCC\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "### Multiple data sets on the same plot\n", "# the semicolon at the end suppresses the display of some usually unnecessary information\n", "\n", "plt.plot(x, np.sin(x), label=r'$\\sin(x)$')\n", "plt.plot(x, np.cos(x), label='cos(x)')\n", "plt.xlabel('x values', size=24)\n", "plt.ylabel('y values')\n", "plt.title('two functions')\n", "plt.legend();" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notice how matplotlib automatically assigned different colors to the two data sets. We can finetune what these look like:" ] }, { "cell_type": "code", "execution_count": 109, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 109, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": [ "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\n", "p7QyAAAAAElFTkSuQmCC\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(x, np.sin(x), linewidth=3, color='red', linestyle='--')" ] }, { "cell_type": "code", "execution_count": 112, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 112, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": [ "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\n", "UK+0iAEAAAAASUVORK5CYII=\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(x, np.sin(x), 'o--', markersize=5, color='k')" ] }, { "cell_type": "code", "execution_count": 118, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 118, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": [ "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\n", "AElFTkSuQmCC\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "### logarithmic plots\n", "x = np.linspace(-5, 5)\n", "y = np.exp(-x**2)\n", "plt.semilogy(x,y, lw=2, color='0.1')" ] }, { "cell_type": "code", "execution_count": 119, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(0.01, 10.0)" ] }, "execution_count": 119, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": [ "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\n", "IcNfkir0/0OzjdgE1/UeAAAAAElFTkSuQmCC\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.loglog(x,y)\n", "plt.xlim(1e-1, 1e1)\n", "plt.ylim(1e-2, 1e1)" ] }, { "cell_type": "code", "execution_count": 121, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 121, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": [ "iVBORw0KGgoAAAANSUhEUgAAAYIAAAEZCAYAAACaWyIJAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\n", "AAALEgAACxIB0t1+/AAAIABJREFUeJztnXu4HWV1/z9fCEkIkQTEJlw9BIgQrIIIWlC5ihQVarVc\n", "qkiUVh9REfGWWIRoWwRLU7SKrRcMVUFBK0KLSEBAhULwBwiSHAEhSAwJCAQJl0Bg/f6Yd5/M2Wfv\n", "febM2Xv22uesz/Oc58x7mXm/M7PfWTPrvcnMCIIgCMYvG3VbQBAEQdBdwhAEQRCMc8IQBEEQjHPC\n", "EARBEIxzwhAEQRCMc8IQBEEQjHPCEAQ9h6T5kr5eMO8CSd9uc/kvSJqVtr8q6dQ2HXcHSU9IUgpf\n", "K+mEdhw7He9ySce163jB2CEMQVA5kpZLOrgubq6kXxTZ38w+b2Z/X7C4lgNlkpaDCh6rkZYPmNk/\n", "DZevSDlm9nsze5FtGNxjDKO/RXlDDKCZHW5mbTWKwdggDEHQDUo/4EqgYdKtQJ520LIcSRMq0BAE\n", "DQlDEHhhkGGQtI2kH0p6SNK9kj6cSxv0tivp3ZLul/RHSafWvX0bMFHS+ZL+JOk3kvZK+30b2AG4\n", "LLlkPt5ImKRPSFopaYWk99alLZL0j2l7K0n/I+kxSY9I+rkyhpQjqS+5mN4r6X7gKkkvTXH5ermz\n", "pJskPS7pEklbpLIOkPRAnZblkg6WdBgwHzg6lXdrSh9wNSVdtWu1Ol2fzVNaTVvtuj4s6dNFbmLQ\n", "m4QhCLpF/dvxQDg9CC8DbgW2AQ4GTpZ0aMpiubxzgK8AxwJbA9PSPvnjHgFcmNIuBb4MYGbHAb8H\n", "3pJcMmcPEZk9VD8GHALMTv/z5L9uPgY8AGwF/Bkw3zJalfMGYFfgTU2uybuB96RzWw98qV5jvRYz\n", "uwI4A/heKm/PBlrfAxwPHADMAqbWrkuO/dI5HwycJmnXFmUHPUwYgqAbCLgkvTk/Jukxsod57SG1\n", "N7CVmf2Tma03s/uAbwDH5Pav8Q7gUjO7wcyeA05jqNvpF2Z2RfK9fwd45Qi0HgWcZ2ZLzewp4PQW\n", "eZ8le2D3mdnzZnZ9geMvMLOnzWxdgzQD/itX9meAo2qNycMgWru83gn8q5ktN7Mnyb4gjqn7Gvms\n", "ma0zs9uBXzOy6xb0EGEIgm5gwJFmtkXtDziRDQ+ulwLb1BmK+WRv2fVsA6wYOLDZ08AjdXlW57af\n", "AibXPfBasTXZW36N3zfIU9P9L8A9wJWSfifpUwWO/8AI0n8PbEL2xTFatgburzv2BGBGLm5Vbvsp\n", "YLM2lBs4JBqoAi/k314fAO4zs9kF9lsJvGzgINKmwItHUO5wjdYPkvn3a+zQLKOZrQU+Dnxc0u7A\n", "zyQtMbNrWpQzXPn1ZT8H/BF4EphSS5C0MfCSERx3JdBXd+z1ZEaz6TkGY5P4Igg8sgR4QtInJW0q\n", "aWNJL5f06gZ5fwi8VdJfSJoILGBkvYBWAzu1SL8ImCtpN0lTGOoayrdtvEXSzsl18yfgeeCFguU0\n", "QsC7cmV/Drg4ubjuIvuyOVzSJsCpwKTcvquAvhZupAuBj6aG4alsaFN4oUn+QecajC3CEAReGGjI\n", "NLPngbcAewD3Ag8DXwM2b5D3TuDDwPfI3nKfAB4C1tXnrSurxueBU5ML6pQhorKG13OAn5E9fK+u\n", "2z9//J2BxUnDDcBXzOy6FuU0emuvP/Z/AYvIvkwmAiclXY+TudO+QeYaW8tgN9LF6f8jkn7VoJzz\n", "gG8DPye7xk+RXcdGOlrFBWMAxcI0wVgivd0+BuxsZvcPlz8IgvgiCMYAkt4qaYqkzYCzgdvDCARB\n", "ccIQBGOBI4A/pL+d2NDNNAiCAoRrKAiCYJwTXwRBEATjnJ4bRyApPmGCIAhKYGYNuwD3nCGA5ifj\n", "AUkLzGxBt3U0IrSVx7O+0FYez/rara3VS3S4htpPX7cFtKCv2wJa0NdtAcPQ120BLejrtoAW9HVb\n", "wDD0dVtAC/qqKigMQRAEwTgnDEH7WdRtAS1Y1G0BLVjUbQHDsKjbAlqwqNsCWrCo2wKGYVG3BbRg\n", "UVUF9Vz3UUnmuY0gCILAI62enfFF0GYkHdBtDc0IbeXxrC+0DSnTxvvfSK9ZT/YaCoIgaEVRr4Gk\n", "A8zs2g7LKUVZbWUMQbiGgiAYU4z3Z0Sz8w/XUBAEQdCUjhoCSS+TdGvu73FJJ0naUtJiSXdJulLS\n", "9Nw+8yXdLalfGxYr7xnCX1sOz9rAt77QVh7P+qrU1lFDYGa/NbM9zWxPYC+yxS9+BMwDFqelCK9O\n", "YSTNAY4G5gCHAeeq+NqyQRAEbpG0XNLBDeJfL6m/G5oGNFTVRpDe7j9jZrWT3t/MVkuaCVxrZrtK\n", "mg+8YGZnpX2uABaY2Y2544xr/18QBK1p9IzQZN3MJKZ2rNB1rLVnbO9hdN0HnGBmPytThKQFwE5m\n", "dtww+UbcRlBlr6FjyNZJBZhhZqvT9mpgRtreBrgxt88KYNtq5AVBMGaZxFROYVXHjr+QmR07dgVU\n", "YgiULSr+VuBT9WlmNly/1yFpkhYBy1NwDXBbrZtVza/WxfDJzvQMhPM+Rw968uF6jd3W02P69jCz\n", "cxzp6Xp9qDEQrq12/SRZe+RmrAHgMbZjImsHwvXpRcN15TXTB7xD0teArYArgG8CuwMfM7PtU/5j\n", "gTcDWwCPAP8GLAPmAxtJejvwWzPbs9X5p+25KbicFlTiGpJ0JPABMzsshfuBA8xslaStgWuSa2ge\n", "gJmdmfJdAZxuZjfljuXaNaQx2C+5CjxrA9/6QtuQMoe6hqZpWcMvgieZPvBQHw0LmWmP227D6FoO\n", "rAL+ClgHXA98EegHvpMMwcuAxcA+wK7AvcAEM7tX0ulkrqF3D1OO2+6jx7LBLQRwKXB82j4euCQX\n", "f4ykiZJ2BHYBllSksS14rZAQ2kaDZ32hbRS0wwgUx4AvmdkqM3sMuAzYoy7P88Aksq+E683s92Z2\n", "b0pT+ms7HTcEyhYUPwT471z0mcAbJd0FHJTCmNlS4CJgKfAT4ESrqjU7CIKg8+S/Sp6CwQ3YZnYP\n", "cDKwAFgt6cLkNekoHTcEZvakmW1lZk/k4h41s0PMbLaZHWpma3JpZ5jZzma2q5n9tNP62k30Sy6H\n", "Z23gW19oGwV1Pn4PmNmFZvZ64J1kXxFn1ZI6VWb00Q+CIOgOjfz4syUdJGkS8BzwDJm7CLKviT5J\n", "bXcPxaRzbcazTzS0lcezvtBWgHWsbdHFc/RdP9extsRexoa3/Nr/ScDngd3IDMH1wPtS2sXAu4BH\n", "JN1rZq8uL3gwMelcEARjivH+jPDca2jc4NknGtrK41lfaCuPZ31VagtDEARBMM4J11AQBGOK8f6M\n", "CNdQEARBMGLCELSZ8DmWw7M28K0vtJXHs75oIwiCIAgqI9oIgqDNNJ37vsCc9cHoUYnF28caI20j\n", "iAFlQdBums19fyav1TQtGxIfBqKtxIviyAnXUJsJn2M5PGuDNumbyEacwqohf6NcOcvztfOsDXzr\n", "izaCIAiCoDLCELQZN3OrNCC0lcezvtBWHs/6qtQWhiAIgmCcE4agzYTPsRyetYFvfaGtPJ71RRtB\n", "EARBUBlhCNpMI7+epBdJ+oGk7eviXy3pi5KOk/QfknYqktZObWVocT7nSXpO0tOSlkh6VdXaOoVn\n", "faGtPJ71VaktxhF0GEknANsBfw2ckoufBPwAeI2ZrZa0DLgQ2KdVWuUnUEez80ncD2xLNlBxddXa\n", "giAoR3wRtJl6v56ZfdPMPtsg6xuAtbkH5v8DdpO0Y4u0vnZqK0OL86mlP1TGCHj21YJvfaGtPJ71\n", "VaktvghySDoVWGlm56XwBcCXzOzGFN4C+AQN1hrNsa2kX5rZ+mGK6wMeqQXMzCQ9BuwObN0ibfkI\n", "zufjwHHArKT5kaTtnbk8Rc5pPfDZAue0qaT3AX8CDgYWmtnQkbRBELii44ZA0nTgG2QPMQPeA9wN\n", "fB94KdmD7SgzW5PyzwfeS7Zg80lmdmWnNeZ4WyobSROAv2TDeqGY2WPAp9tU1lbAU3VxzwAvAl7c\n", "Iq0Qks4GVpjZKyXNBH4N7FT/MG/zOd0BXGRmz0l6CLhE0q5WYEIrz75a8K0vtJXHs76xNo7gi8Dl\n", "ZrYb8AqgH5gHLDaz2cDVKYykOcDRwBzgMOBcSZW4r9Kb8bZm9usUtTfQb2ZlFqUuwhqGvoVPBR4G\n", "Hm+S9sciB5b0cmAvMzsHwMxWpeNtMRrBBfiemT2Xtu8FdgH+vMNlBkEwSjr6RSBpGvB6MzseIL2N\n", "Pi7pCGD/lO184FoyY3AkcGF6mCyXdA9ZA+mNndSZ2B+4Lhc+ALha0ovN7BEASVsCH6e1G2U74D0F\n", "3Cj9wPtrgfQFsiVZg+vzLdKKcBjwv7n9X0ZmRHYnu9bk0oqc0/PAglbnJOm1wGJJW5nZOjZ8vTxb\n", "RLCkAzy/nXnWF9rK41lfldo67RraEXhY0reAV5I1ep4MzMg1KK4GZqTtbRj80F9B1gulCg4C7gOQ\n", "tDFZr5hTgWOBLwOY2aMM40ZJN6/ZAzP/sP0F8BJJ25vZA2SG6E4zu1vSfc3SCp7Lwwx2I50GnNQo\n", "Y5FzakH+fB4A/iUZAYD9gOvNrL/ksYMgqIhOG4IJwKuAD5nZzZLOIbmBaqSG0FY+5CFpkhaxodF0\n", "DXBbzXLWWtpHGgYOBJZK+mdgIlkbxuuAdXnLPNzxanG59H8kc48YcKak1cAlZnatpOOAr0j6DVkD\n", "8dE5PccB/yDpUWBPMpdZrbzDgE+SNTjPaqDnAWB/SXPJvmz+n5ldNZrrU/B8bpF0LpnLcWPgbW0o\n", "r/fCU5hCjX6mA7Ara5qGn2bWwPTU69O+E3iKdaxlHZ8oUn4NF+efC9fivOjpJX2pTpXeP23PTae5\n", "nBZ0dGGa1Ej5f2a2Ywq/DphP9vA60MxWSdoauMbMdpU0D8DMzkz5rwBON7Obcsc0a/N845JeAtxs\n", "Zn3tPG6nkPRZsi+WV5rZC93WEwxG07Ss4XoEC9mXU7ihcPyZvJaJDSpwrF8QlKDVs7OjDbGpkfIB\n", "SbNT1CHAncBlwPEp7njgkrR9KXCMpInK+tPvAizppMbEgcDP23Gg+je0DvGXwAdHagQq0lYKr9o0\n", "WTdrmpZpM92vaVo28DdZN3e88ILrF3i9duBbG/jWV6W2KsYRfBj4rqSJwO/Iuo9uDFykbJTqcuAo\n", "ADNbKukiYClZ3/UTi3Q9bAMvB/6ngnLagpl1fYTxuKG22lg/0wfcOdB8tTEAow8afBEEgVM6bghS\n", "d8xGn7GHNMl/BnBGR0UNLfO0Nh7r2nYdq92EtlGQNwKw4W29EQuzdpuq8HztPGsD3/qq1BZTTARB\n", "EIxzwhC0mfA5lsOzNmBDbx+HeL52nrWBb31VagtDEARBMM4JQ9BmwudYDs/agKFtBI7wfO08awPf\n", "+qKNIAiCIKiMMARtJnyO5fCsDYg2gpJ41ga+9Y21cQRBELSTZ+kbNIZhClM0Tdm05THqOChBGII2\n", "Ez7HcnjWBvhqI2g9hmFmxWpa4v2+etYXbQRBEARBZYQhaDPhcyyHZ22A6zYCz9q831fP+mIcQRAE\n", "QVAZYQjaTPgcy+FZG+CrjaAex9q831fP+qKNIAiCIKiMMARtJnyO5fCsDXDth/eszft99awv2giC\n", "IAiCyghD0GbC51gOz9oA1354z9q831fP+qKNIAiCIKiMMARtJnyO5fCsDXDth/eszft99awv2giC\n", "IAiCyhjWEEh6maSrJd2Zwq+QdGrnpfUm4XMsh2dtgGs/vGdt3u+rZ33e2gi+DnwaeDaF7wCO7Zii\n", "IAiCoFKKGIIpZnZTLWBmBjxXtABJyyXdLulWSUtS3JaSFku6S9KVkqbn8s+XdLekfkmHjuRkPBA+\n", "x3J41ga49sN71ub9vnrW5209gocl7VwLSHoH8OAIyjDgADN7NBc3D1hsZl+Q9KkUnidpDnA0MAfY\n", "FrhK0mwze2EE5QXBiNFk3cwkpg5JMPqgyZTPQTBGKGIIPgR8DdhV0krgPuCdIyxHdeEjgP3T9vnA\n", "tWTG4EjgQjN7Dlgu6R5gH+DGEZbXNcLnWI6ua5vE1IZz/C9kFuDaD+9ZW9fv6zB41leltmENgZn9\n", "DjhY0mbARmb2xAjLMLI3++eB/zSzrwMzzGx1Sl8NzEjb2zD4ob+C7MsgCIIg6BBNDYGkj+WClosX\n", "WVPBwoJl7GdmD0p6CbBYUn8+0cxMkjXZd1DZOQ2LgOUpuAa4rWY9a361LoZPdqZnIJz3OXrQkw/X\n", "a6y8/M2TiJq/vfaWvR4Niqv3x9fn72c663NfwI3S251/JVM5iBVJ7xRJB3T7fvZCffCub7T1NW3P\n", "TYdYTguUtf02SJAW0OAhTObmMTP7bKsDNznm6cBa4O/J2g1WSdoauMbMdpU0L53EmSn/FcDp+cZq\n", "SWZm9a4mN+QroTdCW4vyp2lZE9fQvpzCDfQzfZALphbfiGZpnYrPa1vITHvcdmuoqwt0+74Oh2d9\n", "7dbW6tnZ9IvAzBa0oeApwMZm9kRyLR0KfBa4FDgeOCv9vyTtcilwgaSFZC6hXYAlo9VRJV5/VBDa\n", "RoVjP7xnbd7vq2d9rtoIJO0EnAP8BdkXwg3AR83s3gLHnwH8KPMmMQH4rpldKelXwEWSTiD7ZDkK\n", "wMyWSroIWAqsB060Zp8sQRAEQVsoMo7gAuAiYGuyxtyLgQuLHNzM7jOzPdLfy83s8yn+UTM7xMxm\n", "m9mhZrYmt88ZZrazme1qZj8d+Sl1l+iXXA7P2gDXffU9a/N+Xz3rq1JbEUOwqZl928yeS3/fASZ3\n", "WlgQBEFQDUXGEfxE0nw2fAUcneK2hOztvlPiepHwOZbDszbAtR/eszbv99WzPldtBGQPfgPe1yR+\n", "VrtFBUFQkmfp0zQtGxK/jrX2jO3dBUVBD1BkQFlfBTrGDOOpO1o78awNYEj3UU/ktU1koybdYGdW\n", "LQv831fP+qrUVqTX0ETgA8AbyL4ArgP+w7JpIIIgCIIep4hr6Ksp31fIBpMdl+L+roO6ehavbxcQ\n", "2kaF168BcK3N+331rM9bG8HeZvaKXPhqSbd3SlAQdJKYZTQIhlKk++j6ummodyIb7BU0IPoll6My\n", "bbVZRuv/NExdcNxX37M2z7858K2vSm1Fvgg+AfxM0n0p3Ae8p2OKgiAIgkop0mvoakm7AC9LUb81\n", "s3WdldW7hM+xHJ61Aa798J61eb+vnvVVqa3I4vWbAZ8EPmxmtwM7SHpLx5UFQRAElVCkjeBbZAvX\n", "75vCK4F/7piiHid8juXwrA1w7Yf3rM37ffWsz1sbwU5mdpSkYwDM7Mk0m2gQBL1CjDgOWlDEEKyT\n", "tGktkHoNRRtBE8LnWA7P2gDXfvhC2ro04tj7ffWsz9s4ggXAFcB2ki4A9mPD8mdBEARBjzNsG4GZ\n", "XQm8nezhfwGwl5ld02FdPUv4HMvhWRvg2g/vWZv3++pZn6s2AmUNAvsDryOba2gT4Ecd1hUEQRBU\n", "RJFeQ+cC7wduB34DvF/SuR1V1cOEz7EcnrUBvd9G0CW831fP+ry1ERwIzDGzFwAkLSJbUzgIgiAY\n", "AxT5IrgH2CEX3iHFBQ0In2M5PGsDXPvhPWvzfl896/O2ZvHmwDJJ10m6luxr4EWSLpN06XA7S9pY\n", "0q2SLkvhLSUtlnSXpCslTc/lnS/pbkn9kg4teU5BEATBCCjiGjqtQZyRrU1gBfb/CMl4pPA8YLGZ\n", "fUHSp1J4nqQ5ZMtfzgG2Ba6SNLvmkuoVwudYDs/aANd+eM/avN9Xz/pctRGMRoyk7YDDyaakOCVF\n", "H0HWCwngfOBaMmNwJHBhWvlsuaR7gH2AG8uWHwRBEAxPEdfQaPg3smms82/1M8xsddpeDcxI29sA\n", "K3L5VpB9GfQU4XMsh2dtgGs/vGdt3u+rZ33e2ghKkWYofcjMbiVzIw3BzIzW7qUirqcgCIJgFDR1\n", "DUm62swOlvQFM/tkiWPvCxwh6XBgMrC5pG8DqyXNNLNVkrYGHkr5/wBsn9t/uxTXSNsiYHkKrgFu\n", "q7mwala0W+FanBc9+bCZXetJTzfCrGcK/Uwf8KvXv03XwrX09WhE+fuZzvrci0+j9E7krzFSvU8z\n", "S5vpfibw1MD1AXieh+wZ23ss1wfv+kZbX9P23HSay2mBspfyBgnSUrIF6s8D/pa6xmEzu6XVgeuO\n", "tT/wcTN7q6QvAI+Y2VmS5gHTzazWWHwBWbvAtsBVwM5WJ1CSmVlMfxqUQtO0rMnka/tyCjeMOr6d\n", "x+pu2TPtcdutYRlBT9Lq2dnKNXQ6WY+hbYF/Bc5O/2t/I6X2QD8TeKOku4CDUhgzWwpcRNbD6CfA\n", "ifVGoBcIn2M5PGsDXPvhPWvzfl8963Mx15CZXQxcLOk0M/vcaAoxs+uA69L2o8AhTfKdAZwxmrKC\n", "IAiCkVGk++jnJB0JvIHsrf46M7us48p6lOiXXI52a9Nk3cwkpg4tiD5o4BoaDsd99T1r8/ybA9/6\n", "XI0jkHQmsDfwXbJ2gpMk7Wtm8zstLghKM4mpTdoCZnVBTRC4pkj30TcDh5rZeWb2TeAwIBavb0L4\n", "HMvhWRvg2g/vWZv3++pZn7dxBAaDfmjTif79QRAEY4Yicw19HrhF0jVkrqH9yaaECBoQPsdyeNYG\n", "uPbDe9bm/b561ueqjcDMLpR0HVk7gQHzzOzBjisLgiAIKqHQFBNmttLMfmxml4YRaE34HMvhWRvg\n", "2g/vWZv3++pZn7c2giAIgmAME4agzYTPsRyetQGu/fCetXm/r571VamtpSGQNEHSb6sSEwRBEFRP\n", "S0NgZuuBfkkvrUhPzxM+x3J41ga49sN71ub9vnrW52KuoRxbAndKWgI8meLMzI7onKwgCIKgKooY\n", "gs80iIsBZU0In2M5PGsDXPvhPWvzfl896/M2juBaSX1kawNcJWlKkf2CIAiC3mDYXkOS3gdcDPxn\n", "itoO+FEnRfUy4XMsRxltmqybNU3LGv2lWUbbh2M/vGdtnn9z4FuftzaCD5KtGnYjgJndJenPOqoq\n", "CIrQbIZRiFlGg2AEFBlHsM7M1tUCkiYQbQRNCZ9jOTxrA1z74T1r835fPetzM44gcZ2kfwCmSHoj\n", "mZsoFqYJgiAYIxQxBPOAh4E7gPcDlwOndlJULxM+x3J41ga49sN71ub9vnrW56qNwMyel3Q+cBOZ\n", "S6i/FxeVD4IgCBpTZKnKNwP/AdybomZJer+ZXd5RZT1K+BzL4Vkb4NoP3xFtz9KnaVo2JH4da+0Z\n", "27voYbzfV8/6XI0jABYCB5rZPQCSdiJzD7U0BJImA9cBk4CJwI/NbL6kLYHvAy8FlgNHmdmatM98\n", "4L3A88BJZnZlmZMKgmCUTGSjJms+z+yCmqDDFGkj+FPNCCTuBf403E5m9gyZAdkDeAVwoKTXkbU5\n", "LDaz2cDVKYykOcDRwByydZHPldRzs6OGz7EcnrUBrv3wnrV5v6+e9bloI5D09rT5K0mXAxel8N8A\n", "vypycDN7Km1OBDYGHgOOIFvuEuB84FoyY3AkcKGZPQcsl3QPufELQRAEQWdo5Rp6KxvGCzzEhof3\n", "w8DkIgdPb/S3ADsBXzWzOyXNMLPVKctqYEba3obBD/0VwLZFyvFE+BzL4VkbMP7aCNqE9/vqWZ+L\n", "NgIzmzvag5vZC8AekqYBP5V0YF26SWrVAyl6JwVBEHSYIr2GZgEfBvpy+Uc0DbWZPS7pf4G9gNWS\n", "ZprZKklbk31tAPwB2D6323YprpGmRWQNzQBrgNtq1rPmV+ti+GRnegbCeZ+jBz35cL3GovsP+Mdr\n", "b8X1/vL69PWIfqaPOH8tbrj8/UxnPWqZ3u78K5nKQawY1fkVzz9F0gFjoT541zfa+pq256ZDLKcF\n", "Gm5IgKTbgW8AvwFe2KDLrhtmv62A9Wa2RtKmwE+BzwJvAh4xs7MkzQOmm9m81Fh8AVm7wLbAVWQz\n", "nlrdcc3MhFPylcQbY02bpmlZi7mG9uUUbmhbfP5h2Sp/J8oeLj6vrfNlz7THbbch8U3w/JsD3/ra\n", "ra3Vs7NI99FnzOxLJcrdGjg/tRNsBHzbzK6WdCtwkaQTSN1HAcxsqaSLgKXAeuDEXhy45vVHBaFt\n", "VDj2w3vW5v2+etbnoo0gx79LWkD2Rj8w+ZyZ3dJqJzO7A3hVg/hHgUOa7HMGcEYBTcE4QpN1M5OY\n", "OiQhm2q68RdBEASFKWIIdgeOAw5kg2uIFA7qGE+fmu2kpbZm001XOdV0vWvIE461ef7NgW99VWor\n", "Ygj+BtjRzJ7ttJggCIKgeoqM3L0D2KLTQsYKXt8uILSNCqdv3IBrbd7vq2d93toItgD6Jd3MhjaC\n", "EXUfDYJgjNBsMjoY8YR0gR+KGILTO65iDBE+x3J41ga49sNXqq3ZZHTQcEI67/fVsz5XbQReL1IQ\n", "BEHQHoqMLF7LhqkeJgKbAGvNbPNOCutVPBvO0DYKvH4NgGtt3u+rZ32u2gjMbKD/dhocdgTw2k6K\n", "CoIgCKpjRPP9m9kLZnYJ2XoBQQNifvNyeNYGuJ7z37M27/fVsz4X6xHUyK1LAJnh2At4umOKgiAI\n", "gkop0msovy7BerL5gY7slKBeJ3yO5fCsDXDth/eszft99azPWxvB3Ap0BEEQBF2i1VKVzcYPGICZ\n", "fa4jinqc6JdcDs/agBhHUBLv99WzPi/jCJ5k6AphmwEnAFsBYQiCIAjGAK2Wqjy7ti1pc+Ak4D3A\n", "94B/7by03sTr2wWEtlHh9I0bcK3N+331rM9NG4GkFwMfBd4J/BfwKjN7rAphwfgj1h3ocZrNQxRz\n", "ELmnVRvB2cDbgK8BrzCzJypT1cOEz7Eckg5gcwfrDjTDsR/ejbZG8xD1M53LGxh3J3ivE1VpazWg\n", "7BSytYNPBVZKeiL396cqxAVBEASdp6khMLONzGyymb2owV/MM9QEr28XENpGhYc37maEttJ4/t1V\n", "qW1EU0wEQRAEY48wBG0m5i4ph2dtgOv5fEJbeTz/7qrU1lFDIGl7SddIulPSbySdlOK3lLRY0l2S\n", "rpQ0PbfPfEl3S+qXdGgn9QVBEASd/yJ4Dviome1ONnX1ByXtBswDFpvZbODqFEbSHOBoYA7ZDKfn\n", "pqmve4a4gVQ5AAAO8klEQVTwOZbDszbAt687tJXG8+9uzLQRmNkqM7stba8FlpH1RDoCOD9lOx/4\n", "q7R9JHChmT1nZsuBe4B9OqkxCIJgvFPZ27akPmBP4CZghpmtTkmrgRlpextgRW63FWSGo2cIn2M5\n", "PGsDfPu6Q1tpPP/uXK1H0A4kTQV+CHzEzJ6QNJBmZiapfk6jPEPSJC0imw4bYA1wW+0zqnbxuhUG\n", "9pDUtfJ7NTxA7cFRcyn0M531qGV6o3Cz/OvRoAFYRfPXp7dT72jzr2TqqM9vtPmbhVcylfVMrB3O\n", "y+9tPNTXtD03nedyWtBxQyBpEzIj8O20uhnAakkzzWyVpK2Bh1L8H4Dtc7tvl+IG0Wpq7Hq/WhfC\n", "5zjTc22ztG7rqQ9rmob6lHdlDZfnXgYapTcKX94kfQI2KK7d+cvoHW3+fJ5On1+z/M3CB7GC25hZ\n", "C3r6vaXwmK2vaXsg3GJG6Y73GhLwTWBp3QW/FDg+bR8PXJKLP0bSREk7ArsASzqpMQiCYLzT6TaC\n", "/YB3AQdKujX9HQacCbxR0l3AQSmMmS0FLgKWAj8BTjSzVm4jd4TPsRyetQG+fd2hrTSef3djpo3A\n", "zH5Jc2NzSJN9zgDO6JioIAiCYBA91Ue/F4h+yeXwrA3w3R8+tJXG8++uSm2V9BoKgjyx7kAQ+CK+\n", "CNpM+BwLMCmtO5D/O5xnkOPfo2dfd2grjZs60YAxM9dQEARB4J8wBG0mfI4lce5Ldq0vtJXGc52I\n", "NoIgCMYOsZaxe8IQtJlYAzVX3kgahZ37kt2sC9wI79oarWUMsHDDiONuEfU1IwxB0DkmOV6MPgiC\n", "AaKNoM14fbsA39rcvtHW8KwvtJXGc52oUlsYgiAIgnFOGII2E/2SS9ILbQReCW2l8VwnYhxBEARB\n", "UBlhCNpM+BxL4tyX7FpfaCuN5zoR4wiCIBj7xPgCN4QhaDPRL7kkzn3J7vvqe9bWDAfjCzzXiSq1\n", "hWsoCIJgnBOGoM14fbsA39rcvtHW8KwvtJXGc52IcQRBEARBZYQhaDPRL7kkvdBG4JXQVhrPdSLG\n", "EQRBEASVEYagzYTPsSTOfcmu9YW20niuE2OmjUDSeZJWS7ojF7elpMWS7pJ0paTpubT5ku6W1C/p\n", "0E5qC4IgCDI6/UXwLeCwurh5wGIzmw1cncJImgMcDcxJ+5wrqee+WMLnWBLnvmTX+kJbaTzXiTHT\n", "RmBmvwAeq4s+Ajg/bZ8P/FXaPhK40MyeM7PlwD3APp3UFwRBEHRnZPEMM1udtlcDM9L2NsCNuXwr\n", "gG2rFNYOwudYkl1Zw+XdFtECz75u79pGel8rnHrCc50YN3MNmZlJslZZGkVKWgQsT8E1wG21i1b7\n", "nIpwReFN1M9ENmUCTwGwnikATOApjD76eQbY8LDqZzrrETVqroN8+mjz56lPX48GTcnQ7vxVnF+r\n", "/J0+v2b523l+G7HxwNQT+fSFzOz6772Hwml7LhnLaUE3DMFqSTPNbJWkrYGHUvwfgO1z+bZLcUMw\n", "s7nNDl5vRasO18d1W08+3GjuklGf7xSMU7iXRixk1pC31ewN0QaFYegDYbj8w4Uvb5I+ARsUVzR/\n", "7eE3XP4yekebP//wLnt+o83fLFzbZzTnlyPqa/Fw2s4f73Sa0A1DcClwPHBW+n9JLv4CSQvJXEK7\n", "AEu6oC8IAo80cxlBzFg6SjpqCCRdCOwPbCXpAeA04EzgIkknkH2uHAVgZkslXQQsBdYDJ5pZK7eR\n", "S8aqz1GTdTOTmDr0oPRBgxkkR0q0EZTHu7Z23ddms5VC6RlLx2p9HSkdNQRmdmyTpEOa5D8DOKNz\n", "ioLSTGJqkymDZ3VBTRAEbaTn+ul7J/oll8R5f3PX+kJbaTzXiTEzjiAIgiDwTxiCNhM+x5J49nOD\n", "b32hrTSe68SYmWsoCIIg8E8YgjYTPseSOPclu9YX2krjuU5UqS0Wrw+CoPepcFqKsUgYgjYTPseS\n", "xDiC8njXVsV9bTbGYJjxBZ7rRLQRBEEQBJURhqDNhM+xJM59ya71hbbSeK4TMY4gCIIgqIwwBG0m\n", "fI4l8eznBt/6QltpPNeJMTPXUNB7dHxyuSAI3BGGoM00mkPcC3ltTR/4E+njlEErxWV0enI5577k\n", "QYuxeMO7Nsf0Sn3tNGEIxisxm2gQBIkwBG3G69sF+NYW4whGgXdt3byvwww081wnoo0gaBvh8w/G\n", "NSUHmo03otdQm3HXL7nmAjqFVRzOMwPbcnbvnfuSXesLbaVxV19zxDiCIAiCoDLCELQZzz5H975k\n", "z3jWF9pK47m+RhtBMCKatgNAtAUEQSOaNyJvzyQeKByfpfX8DKfuDIGkw4BzgI2Bb5jZWV2WNCK6\n", "0i+5WVdQGNwdNPqbl8f7tfOszSO1RuT6a7eQWU27VTevYx1peK7yWeLKNSRpY+DLwGHAHOBYSbt1\n", "V9WI2aNTB9Zk3axpWlb/l976h2dlk68GD3jWBr71hbby+NbXsWdJPd6+CPYB7jGz5QCSvgccCQz9\n", "hPNL4Tegpi6dZp+hox31+4y7+70Bz9rAt77QVp526OvcojiVfU15u0nbwqAH4ArgNV3SUhhJ27MZ\n", "32QTNmUiO2gLHTyQuI61PM2RZvbskB1bje6NUb9B0BuMgbEK3gyBdVtASTZmE7blxWzEc0zjxWw1\n", "kLKa6UziBk3TZkP2qroh93EmV1bWSPGsDXzrC23l6aS+0X8p9LVdUxNk5ufZK+m1wAIzOyyF5wMv\n", "5BuMJfkRHARB0EOYmRrFezMEE4DfAgcDK4ElwLFm1kttBEEQBD2FK9eQma2X9CHgp2TdR78ZRiAI\n", "gqCzuPoiCIIgCKrH1TiCPJKWS7pd0q2SljTJ8yVJd0v6taQ9vWiT9M6k6XZJ10t6RVXaiujL5dtb\n", "0npJf+1Jm6QDUvpvJF3rRZukrSRdIem2pG1uVdpS+dMl/UDSMklLU5tafZ5u1YmW2hzUiWGvXcrX\n", "jTpR5L52tk6Ymcs/4D5gyxbphwOXp+3XADc60vYXwLS0fViV2oroS3k2Bn4G/A/wdi/ayPpO3wls\n", "l8JbOdK2APh8TRfwCDChQn3nA+9N2xNqv7FcejfrxHDaul0nWupL8d2qE8Ndu47XCbdfBImGLdyJ\n", "I8guIGZ2EzBd0oxKVGU01WZm/2dmj6fgTcB21UgaRKtrB/Bh4AfAwxVoqaeVtr8FfmhmKwDM7I/V\n", "SBqglbYHgc3T9ubAI2a2vvOSQNI04PVmdh5k7Wm531iNrtSJItq6WScKXjvoQp0oqK3jdcKzITDg\n", "Kkm/kvT3DdIbDT6r6sc1nLY8J0DlazS11CdpW7IR21/N5XehDdgF2FLSNSnPcY60fR3YXdJK4NfA\n", "RyrUtiPwsKRvSbpF0tclTanL0606UURbnqrrxLD6ulgnily7jtcJz4ZgPzPbE/hL4IOSXt8gT/3b\n", "W1U3r4g2JB0IvBf4VEW6agyn7xxgnmXfmWL4r4cqtW0CvIrMzfEm4DOSdnGi7dPAbWa2Ddk8MF+R\n", "9KKKtE0guy7nmtmrgCeBeQ3ydaNOFNXWrTpRRF+36kQRbR2vE24NgZk9mP4/DPyIbB6iPH8Ats+F\n", "t0txHrSRGsO+DhxhZo9VoWsE+vYCvifpPuDtwLmSjnCi7QHgSjN72sweAX4OvNKJtn2Bi1Oe35G1\n", "KbysCm1kb/crzOzmFP4B2cMhT7fqRBFt3awTRfR1q04U0dbxOuHSEEiaUnvTkrQZcChwR122S4F3\n", "pzyvBdaY2WoP2iTtAPw38C4zu6fTmkaqz8xmmdmOZrYj2Q/vA2Z2qQdtwI+B10naOH0ivwZY6kRb\n", "P3BIyjODzAjc22ltAGa2CnhA0uwUdQhZA2KertSJItq6WSeK6OtWnSh4XzteJ1wNKMsxA/iRJMg0\n", "ftfMrpT0fgAz+08zu1zS4ZLuIfuceo8XbcBpwBbAV1O+58xsyFdDF/V1iyL3tV/SFcDtwAvA182s\n", "44agiDbgDOBbkn5N9hL1STN7tAJtNT4MfFfSROB3wHud1IlhtdHdOlFEXzcZ7r52vE7EgLIgCIJx\n", "jkvXUBAEQVAdYQiCIAjGOWEIgiAIxjlhCIIgCMY5YQiCIAjGOWEIgiAIxjlhCIIxh6S1deG5kv59\n", "mH3eKqnltAdpKuDLmqSdLGnTFvt+X9KstP03yqYbvrpVeU2OM03SB3LhGZKqnssqGGOEIQjGIvWD\n", "Y4YdLGNml1lubewSfARoONGapJ2BzcysNgr5BODvzOzgEuVsAZxYC6SRw49JGjKlQxAUJQxBMB4Y\n", "mEBM0kuULQKyJP3tm+IHvhok7STpRmWLqPyTpCdyx5oq6WJli4h8J+U/CdgGuKbJW/4xZNM/IOk0\n", "YD/gPElnSdpI0r8kLb+W9L6c1k/k4hek6DOBnZQtUlIzXJcCx47+MgXjFa9TTATBaNhU0q258JZk\n", "87UAfBH4NzO7Ps1/cwUwp27/Wp7v14b659gz5X8QuF7Svmb2JUkfBQ5oMuXEfsA/AJjZ59IMnB8z\n", "s1vSg3+Nme0jaRLwS0lXArOBnVP8RsCP02yonwJ2T7Ok1lgCnDKC6xMEgwhDEIxFns4/KCUdD7w6\n", "BQ8Bdkvz3QC8KE0yl+e1ZIu8AFwInJ1LW2JmK9NxbwP6gBuG0fNSMsPRiEOBP5f0jhTenGz++UOB\n", "Q3MGbTNgZwavN1DjwaQjCEoRhiAYD6hu+zVm9uygDFLRSbfW5bafp3gdajW//YfMbHGdnjeRLYv5\n", "tbr4vibHjknDgtJEG0Ew3rgSOKkWkLRHbTOX50ag9oZ+TMHjPsGGZSzruR/YuknaT4ETJU1Ieman\n", "qYZ/SjYL5WYpfltJL0nl1C+Gs3UqIwhKEYYgGIs06jVUizsJeHVqgL0TeF+DPCcDpyTXz07A43XH\n", "asTXgCuaNBb/kg2uqXq+QTa3/C2S7iBbKnHj9IVwAfB/km4nWxBnalqY5HpJd+Qai/chW6wkCEoR\n", "01AHQR2SNjWzp9P2McDRZva2URxvFvDvZvbmdmmsO/53gbPN7NZhMwdBA6KNIAiGspekL5O5ix4j\n", "W2O3NGZ2r6QnJO2UlrhsG5L+DJgeRiAYDfFFEARBMM6JNoIgCIJxThiCIAiCcU4YgiAIgnFOGIIg\n", "CIJxThiCIAiCcU4YgiAIgnHO/wfmwBXAbQn2tAAAAABJRU5ErkJggg==\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# A more complicated example\n", "\n", "mu, sigma = 5.9, 0.2\n", "measurements = mu + sigma * np.random.randn(10000)\n", "\n", "# the histogram of the data\n", "plt.hist(measurements, 50, normed=False, facecolor='g', alpha=0.75, label='hist')\n", "\n", "plt.xlabel('Height (feet)')\n", "plt.ylabel('Number of people')\n", "plt.title('Height distribution')\n", "# This will put a text fragment at the position given:\n", "plt.text(5.1, 600, r'$\\mu=100$, $\\sigma=15$', fontsize=14)\n", "plt.axis([5,6.7,0,750])\n", "plt.grid(True)\n", "plt.legend()" ] }, { "cell_type": "code", "execution_count": 122, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 122, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": [ "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\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "### Error bars and subplots\n", "\n", "# generate some fake data, with errors in y\n", "x = np.arange(0.2, 4, 0.5)\n", "y = np.exp(-x)\n", "errors = 0.1 + 0.1*np.sqrt(x)\n", "\n", "\n", "fig = plt.figure()\n", "\n", "noErrs = fig.add_subplot(121)\n", "plt.plot(x, y)\n", "plt.xticks((0,1,2,3,4))\n", "noErrs.set_title('No errors')\n", "noErrs.set_ylim(-0.3,1)\n", "\n", "withErrs = fig.add_subplot(122)\n", "withErrs.errorbar(x, y, yerr=errors)\n", "withErrs.set_title('With errors')\n", "plt.ylim(-0.3,1)\n", "plt.xticks(np.arange(0,4.5,0.5))\n", "\n", "fig.suptitle('fake data', size=16, weight='bold')" ] }, { "cell_type": "code", "execution_count": 123, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 123, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": [ "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\n", "YII=\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# normal distribution center at x=0 and y=5\n", "x = np.random.randn(100000)\n", "y = np.random.randn(100000)+5\n", "\n", "# let's make this plot bigger\n", "plt.figure(figsize=(12,8))\n", "plt.hist2d(x, y, bins=40)\n", "plt.colorbar()" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "### A final note\n", "\n", "Since we often need to use numpy + matplotlib (+ SciPy + others) at the same time, we can import all of these modules at once using a single command. Instead of:\n", "\n", " import numpy as np\n", " import matplotlib.pyplot as plt\n", " %matplotlib inline\n", " \n", "etc., just use:\n", "\n", " %pylab inline" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "## Breakout session" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We want to reproduce the Global Land-Ocean Temperature index plot below (available at this GISS website). Download the data this link and recreate the plot **as closely as you can** (don't worry about the two green points or matching the font). We've broken up this problem into steps to get you started. Feel free to follow them as you wish, or be a lone wolf and solve this on your own.\n", "\n", "\n", "\n", "\n", "1. Save the data as a text file, and then read the data into a numpy array. You'll have to deal with the extra lines at the top and bottom of the file, as well as the missing values (the asterixes) that appear. There are multiple ways to solve these problems; do what works for you. If you get stuck, remember that we talked about slicing arrays at the beginning of this lecture.\n", "2. Plot \"Annual Mean\" as a set of black squares connected by a thick black line. Try Googling something about \"matplotlib square markers\". Don't forget to give it a label so it can go in the legend later.\n", "3. Plot \"5-Year Running Mean\" as a thick red line. Don't forget the label.\n", "4. Set the x and y ranges of your plot so that they match the ones in the plot we are trying to recreate.\n", "5. Add a grid. The default grid that shows up is fine; don't worry about making it match *exactly*.\n", "6. Label the y axis. Don't worry about the \"degree\" symbol for now.\n", "7. Add the title.\n", "8. Add the legend (default settings are fine).\n", "\n", "BONUS TASKS:\n", "1. Notice how, in the the plot above, there are labels at every 20 years along the x axis but grid marks at every ten (and similar for the y axis)? Figure out how to recreate this.\n", "2. On that note, match the formatting they have for the y axis ticks.\n", "3. Make all the font sizes match (yours are probably smaller than you'd like).\n", "4. Add in the \"degree\" symbol for the y axis label. Hint: LaTeX or unicode.\n", "5. Move the legend to the right place. Remove the box (the \"frame\") that surrounds the legend. Notice how your legend has a line with *two* markers for \"Annual mean\" and their legend has a line with only one marker? Match that.\n", "6. Move the title up a little bit so the spacing better matches the plot above." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.10" } }, "nbformat": 4, "nbformat_minor": 0 }