{ "cells": [ { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "Visualizing Datasets\n", "=============\n", "\n", "At the end of the day, any scientific experiment -- either performed in the lab, or _in silico_ -- tends to produce data which is processed and analyzed. Sometimes, this analysis involves [visualizing the data](https://en.wikipedia.org/wiki/Data_visualization). In this lesson, you'll learn how to use Python's ``matplotlib`` package to make some visualizations.\n", "\n", "In this lesson, we'll be working with some data derived from a [data set](http://databank.worldbank.org/data/reports.aspx?source=2&series=EN.ATM.CO2E.PC) published by the World Bank on carbon dixoide emissions by country and year, measured in metric tons per capita.\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Anatomy of a Matplotlib Figure\n", "==============\n", "\n", "Let's take a look at one of the main tools used to do data visualization in Python: [matplotlib](https://matplotlib.org/index.html). ``matplotlib`` is designed to be Python's answer to plotting in ``MATLAB``. For this reason, if you've had to make plots in ``MATLAB``, you might find working with ``matplotlib`` to be somewhat familiar.\n", "\n", "Generally speaking, people interact with ``matplotlib`` in one of two ways:\n", "\n", "* They import a module, ``matplotlib.pyplot``, which exposes a whole bunch of plotting functions, and allows for more fine-tuned control over aspects of the plot\n", "\n", "* They import a module ``pylab``, which itself imports ``matplotlib`` and some other Python packages, to make the generation of plots a bit more like how ``MATLAB`` works.\n", "\n", "For the purposes of this lesson, you will be using the former approach, as ``matplotlib.pyplot`` provides a much more rich set of commands with which you can create plots. (For more of a discussion on this point, see this [blog post from DataCamp](https://www.datacamp.com/community/tutorials/matplotlib-tutorial-python).)\n", "\n", "Ready to start making some plots?\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "> The ``matplotlib.pyplot`` ``figure`` object\n", "------------------\n", "\n", "The first thing you need to know about making a plot is the ``figure`` object. Think of it like a canvas that an artist paints on - it's a blank slate upon which you can put text, images, etc. The ``figure`` object is the fundamental thing we need to do plotting.\n", "\n", "Let's import ``matplotlib.pyplot`` and instantiate a figure. To do so, we first need to import the module. In addition, because we are working in a Jupyter notebook, it's often convenient to tell matplotlib that we want the plots to be rendered \"inline\" inside the notebook." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "#Import matplotlib's pyplot module, and set rendering to be \"inline\"\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", "#Import numpy for later in the notebook\n", "import numpy as np" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, we can instantiate a ``figure``." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Instantiate a figure, and show it\n", "fig = plt.figure()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Hmm...that's interesting! We made a figure, but when we show it, we simply get a memory address! Why is that? Because, since the figure is a _canvas_, and we haven't put anything on it, there's nothing to show! " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "> Adding axes to the figure\n", "------------\n", "\n", "Having instantiated a ``figure`` object, we can use the ``.add_axes()`` method to put axes on the figure." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Instantiate a figure, and add a standard set of axes\n", "fig = plt.figure()\n", "ax = fig.add_axes([0, 0, 1, 1])\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The ``add_axes()`` method provides us with a non-trivial degree of control over the figure. For example, suppose we wanted to put two sets of axes. To do so, we call ``add_axes()`` twice." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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\npeYyeK72PfoAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Instantiate a figure\n", "fig = plt.figure()\n", "\n", "#Add an axis for the left half of the figure\n", "ax1 = fig.add_axes([0, 0, .5, 1])\n", "\n", "#Add an axis for the right half of the figure\n", "ax2 = fig.add_axes([.5, 0, .5, 1])\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now that we can add axes to our figures, we can start making some plots!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Some Simple Plots\n", "============" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "> Line Plot\n", "-----------\n", "\n", "One of the most basic -- but useful -- plots is a _line plot_. If we have an ``Axes`` object, we can use its ``plot`` method to plot data. Below, you will take some data about historical US CO2 emissions, and make a line plot." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": true }, "outputs": [], "source": [ "#Data derived from the World Bank data set\n", "\n", "years = [1990, 2000, 2007, 2008, 2009, 2010, 2011, 2012, 2013]\n", "\n", "#Uses a Python *list comprehension* to cast the original data\n", "#(which is formatted as a string!) into a float with 2 decimal\n", "#place\n", "us_emissions = [np.round(float(x), 2) for x in ['19.3233681671961', '20.2076147591466', '19.2374604467856',\n", " '18.4892337521751', '17.1923671443447', '17.4848031479796',\n", " '17.0194385160343', '16.28705288144', '16.389757994879']]" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nmwAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Instantiate a figure\n", "fig = plt.figure()\n", "\n", "#Add an axis\n", "ax = fig.add_axes([0, 0, 1, 1])\n", "\n", "#Plot emissions versus years\n", "ax.plot(years, us_emissions)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This is a pretty minimal plot. There are several things we might like to do to it, to make it a bit more legible:\n", "\n", "* Put markers at the data points\n", "* Make the line dashed, so that people don't think there's X-values in-between the integers\n", "* Add labels to the x,y-axes\n", "* Add a title\n", "\n", "Using the ``plot`` method of an ``Axes`` object, doing so is straightforward! The first two points are accomplished using the ``marker``, ``markersize``, ``linestyle`` keywords, and the last two using other methods built into the ``Axes`` object." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Draw the minimal figure\n", "fig = plt.figure()\n", "ax = fig.add_axes([0, 0, 1, 1])\n", "\n", "#Change marker, markersize, and linestyle\n", "#Use clip_on=False to prevent matplotlib\n", "#from clipping markers which lie on the edge of the plot\n", "ax.plot(years, us_emissions, marker='o', linestyle='--', markersize=8, clip_on=False)\n", "\n", "#Add a label to the x-axis\n", "ax.set_xlabel('Year', fontsize=15)\n", "\n", "#Add a label to the y-axis\n", "ax.set_ylabel('Emissions', fontsize=15)\n", "\n", "#Add a title\n", "ax.set_title('US CO2 Emissions (Metric Tons per Capita)', fontsize=20)\n", "\n", "#Adjust x limits for easier viewing (1990, 2015)\n", "ax.set_xlim([1990, 2015])\n", "\n", "#Turn off the frame (the box around the plot)\n", "ax.set_frame_on(False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "> Bar Plot\n", "-----------\n", "\n", "To make a bar plot, we use the ``bar`` method of an ``Axes`` object. Below, you'll make a bar plot of carbon dioxide emissions in 2012 for a few countries.\n", "\n", "The ``bar`` method is a bit strange in that it request as input a list of scalars and a list of bar heights, and\n", "then outputs the bar plot. Which means that if we want our x-labels to be _categorical_, then we need to explicitly\n", "manipulate the plot to do so." ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": true }, "outputs": [], "source": [ "#2012 carbon dioxide emissions (metric tons per capita) for a few countries\n", "\n", "countries = ['Qatar', 'Kuwait', 'Luxembourg', 'United Arab Emirates', 'Saudi Arabia', 'Australia', 'United States',\\\n", " 'Canada', 'Russian Federation']\n", "\n", "emissions = [46.697477, 29.578729, 20.084219, 19.252223, 19.188937, 16.519386, 16.287053, 13.858827, 12.818345]" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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\ntJmZWRv6D+qjfOv+HF5pAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Make a figure\n", "fig = plt.figure()\n", "\n", "#Add an axis\n", "ax = fig.add_axes([0, 0, 1, 1])\n", "\n", "#Use the bar() function to make the bar plot\n", "ax.bar(range(len(countries)), emissions)\n", "\n", "#Adjust the x-ticks\n", "#Set the ticks at the number of countries\n", "#Make the tick labels the country names, rotated at 45 degrees\n", "ax.set_xticks(range(len(countries)))\n", "ax.set_xticklabels(countries, rotation=45)\n", "\n", "#Put labels on the axes, and make a title\n", "ax.set_xlabel('Country', fontsize=15)\n", "ax.set_ylabel('Emissions', fontsize=15)\n", "ax.set_title('2012 CO2 Emissions for Select Countries', fontsize=20)\n", "\n", "#Turn off the frame\n", "ax.set_frame_on(False)\n", "\n", "#Suppress some output, and show the plot\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Improving Figure Aesthetics\n", "==============" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "> Using ``seaborn`` to change default aesthetics\n", "-------------\n", "\n", "\n", "``Seaborn`` is a useful package for improving figure aesthetics. Even if you don't want to use some of its more advanced functionality, know that simply calling ``import seaborn`` overrides a lot of matplotlib's default behaviors, making your plots much more visually pleasing." ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": true }, "outputs": [], "source": [ "#Import seaborn\n", "import seaborn" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "scrolled": false }, "outputs": [ { "data": { "image/png": "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\nyZNFURTFz372s2L//v1XfUZmptYui6Iojhw5UnR1dRV333331R6Py1Brlz//+c+Lv/zlL0VRFMWO\nHTuKEydOXPUZmZnpdvn5558XmzZtKr7++uuiKIri3nvvLf75z3/OyZzMzBdffFHcfffdxa9//evi\n5Zdf/sb5y+2ful1R89FT5THdLiMiBgYG4vrrr4+I/3w6xaeffjonc1JbrV1GROzcuTMeffTRuRiP\nyzDdLs+fPx/vvPNObN68OSIient7Y+nSpXM2K9ObbpcLFy6MhQsXxtmzZ+PcuXPx5ZdfxuLFi+dy\nXGpYtGhRvPTSS5f8vbKz6Z+6hZqPniqP6XYZEVO/V29sbCwOHDgQGzduvOozMjO1djkwMBC33npr\nLFu2bC7G4zJMt8vTp0/HddddF08//XRs3bo1du3aNVdjMgPT7fKaa66Jhx56KDo6OmLTpk1xyy23\nxMqVK+dqVGagqakprr322kuem03/XLUfJij8FpDSuNQuP/nkk3jwwQejt7f3on9wyO3CXX722Wcx\nMDAQ99577xxOxGxduMuiKOLUqVOxbdu22L17d7z33nuxf//+uRuOy3LhLicnJ+PFF1+MN954I/76\n17/G4cOH4/3335/D6bja6hZqPnqqPKbbZcR//iG5//7745FHHokNGzbMxYjM0HS7PHjwYJw+fTru\nuuuuePjhh2NkZCT6+/vnalRqmG6XS5YsiaVLl8aNN94YCxYsiPXr18eRI0fmalRqmG6Xx44dixUr\nVkRra2ssWrQo1q1bF8PDw3M1KldoNv1Tt1Dz0VPlMd0uI/7zTNP27dvjtttum6sRmaHpdnn77bfH\n66+/Hq+++mo8//zz0dbWFj09PXM5LtOYbpdNTU2xYsWK+PDDD6fOu12W13S7XLZsWRw7diy++uqr\niIgYHh6Om266aa5G5QrNpn/q+skEPnqqPP6/XW7YsCF+8IMfxJo1a6Zee8cdd0RXV9ccTst0pvvv\n8r+OHz8eTzzxRLz88stzOCm1TLfL0dHRePzxx6Moirj55ptjx44d0djoV2dmNd0uX3nllRgYGIgF\nCxbEmjVr4pe//OVcj8s0hoeH45lnnokTJ05EU1NTfOc734nNmzfH8uXLZ9U/PkIKACAp/3sFAJCU\nUAMASEqoAQAkJdQAAJISagAASQk1AICkhBoAQFJCDQAgqf8BNa6S8iIDyZYAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Make a figure and standard axes\n", "#See how they are different from earlier?\n", "fig = plt.figure()\n", "ax = fig.add_axes([0, 0, 1, 1])\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "> Choosing a Good Colormap with ``seaborn.color_palette``\n", "--------------\n", "\n", "Another compelling reason to use seaborn is that is gives you access to many [color palettes](http://seaborn.pydata.org/tutorial/color_palettes.html), which is useful when you want to make sure the colors you use on your plots are harmonious with the kind of data you are plotting. We will look at three major data types: categorical, sequential, and diverging, and show how ``seaborn`` can be used to pick a good color palette for each type." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[Categorical Data](https://en.wikipedia.org/wiki/Categorical_variable)\n", "------------\n", "\n", "Data is _categorical_ when it is related to a set of fixed classifications, or categories. For example, the US Census collects a substantial amount of categorical data about the US population.\n", "\n", "Sometimes, we want to take numerical data and make sense of it as a function of some category. In the World Bank data set, we will look at CO2 emissions by country.\n", "\n", "In this part of the lesson, we make use of the ``pandas`` library, which is intended to help researchers work with data, through the use of \"dataframes\" (think \"tables\"). In particular, ``pandas`` has a variety of ``read_X`` functions, which allow you to read CSV files, or even Excel files!" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": true }, "outputs": [], "source": [ "#Import pandas\n", "import pandas as pd" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Country NameYearemissions
0China19902.168
1India19900.711
2Iran, Islamic Rep.19903.757
3United States199019.323
4China20002.697
\n", "
" ], "text/plain": [ " Country Name Year emissions\n", "0 China 1990 2.168\n", "1 India 1990 0.711\n", "2 Iran, Islamic Rep. 1990 3.757\n", "3 United States 1990 19.323\n", "4 China 2000 2.697" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#Read in worldwide_emissions.csv\n", "df = pd.read_csv('worldwide_emissions.csv')\n", "\n", "#Display the first few rows\n", "df.head()" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "Colormaps for categorical data should themselves not be distracting. In particular, if we use a color map which has substantial variation in the perceived brightness of the colors, then viewers of our plot will tend to focus more on that, than the data conveyed!\n", "\n", "To that end, we make use of the [\"HUSL\" color map](http://www.boronine.com/2012/03/26/Color-Spaces-for-Human-Beings/). The perceived brightness of the colors doesn't change as we scan the colors, making this colormap great for categorical data.\n", "\n", "Seaborn provides access to a function, ``color_palette``, which allows us to create a HUSL color palette with enough colors, one for each country in our dataframe.\n", "\n", "One you have a color palette, you can use the `palplot` function to display it. (Great for checking that the colors are what you want!)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAASUAAABECAYAAADHuCM8AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAAWlJREFUeJzt2jEurUEAhuE5EoXYDRq2oNNYwF2BSkIvUVmBBWgkNkHF\nbm5ISEYl0aA653+L52mn+ao3M8ms5pxzAERsLT0A4DtRAlJECUgRJSBFlICUX6M03z82tQNgjDHG\n6q8vAa9n15vasnE7N+fj/nZv6Rlrc/LvZRw8XC49Yy22347H0+nROLx7XHrKWjydHo3ni/9Lz1ib\n/avdH88834AUUQJSRAlIESUgRZSAFFECUkQJSBElIEWUgBRRAlJECUgRJSBFlIAUUQJSRAlIESUg\nRZSAFFECUkQJSBElIEWUgBRRAlJECUgRJSBFlIAUUQJSRAlIESUgRZSAFFECUkQJSBElIEWUgBRR\nAlJECUgRJSBFlIAUUQJSRAlIESUgRZSAFFECUkQJSBElIEWUgBRRAlJECUgRJSBFlIAUUQJSRAlI\nESUgRZSAlNWccy49AuCLmxKQIkpAiigBKaIEpIgSkCJKQMon5CYfcKJfQ90AAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Determine how many unique country names are in the dataframe\n", "num_countries =len(df['Country Name'].unique())\n", "\n", "#Make a HUSL color palette\n", "colors = seaborn.color_palette('husl', n_colors=num_countries)\n", "\n", "#Display the palette\n", "seaborn.palplot(colors)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now that we have the colors and the data, we are going to make a figure showing CO2 emissions over the years for each country in the dataset. " ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "scrolled": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nREREjgD7bUlzuVzMmTOHzMzMA77pF198wciRIwHo2bMnJSUllJWVHXopRURERI4w+w1pDocDj8dT\n7/gLL7zANddcw4QJE9i9e3fUuYKCAlJTUyOv09LSyM/Pb4LiioiIiBwZ9tvd2ZCLLrqIlJQUjjrq\nKP75z38ya9Ys7rnnnkavN01zv/dMTfXicNgPpTgHzedLbJHnSPNSPbYPqsf2QfXY9qkOY88hhbS9\nx6edeeaZTJkyJep8ZmYmBQUFkde7du3C5/Pt855FRRWHUpSD5vMlkp/vb5FnSfNRPbYPqsf2QfXY\n9qkOW8++wvEhLcFx8803k5ubC8BXX31F7969o86feuqpLFy4EIAVK1aQmZlJQkLCoTxKRERE5Ii0\n35a05cuXM2PGDLZt24bD4WDhwoVcffXV3HbbbcTFxeH1epk+fToAEyZMYPr06QwePJgBAwYwevRo\nDMNg8uTJzf5BRERERNoTwzyQAWMtoKWaWdWk2z6oHtsH1WP7oHps+1SHrafJuztFREREpHkppImI\niIjEIIU0ERERkRikkCYiIiISgxTSRERERGKQQpqIiIhIDFJIExEREYlBCmkiIiIiMUghTURERCQG\nKaSJiIiIxCCFNBEREZEYpJAmIiIiEoMU0kRERERikEKaiIiISAxSSBMRERGJQQppIiIiIjFIIU1E\nREQkBimkiYiIiMQghTQRERGRGKSQJiIiIhKDFNJEREREYpBCmoiIiEgMUkgTERERiUEKaSIiIiIx\nSCFNREREJAYppImIiIjEIIU0ERERkRikkCYiIiISgxTSRERERGKQQpqIiIhIDFJIExEREYlBCmki\nIiIiMcjR2gUQERERORjlq6F0sUGgEJzpkHSiSXzf1i5V01NIExERkTajfDUUvr2nIzBQAIVvG0C4\n3QU1dXeKiIhIm1G62Dio422ZQpqIiIjEvFA5mCYEChs+HygAM9yyZWpu6u4UERGRmBQOQOU6KF9l\nUJULWVeYONOtQFaPHYzapqfiTw0Mh4knB1xZYLTRRjaFNBEREYkpQT+UfG5QsQ7MgJWwXB1MzKA1\nScAagxYt9QwTsFrT/EvBrLFR8iXY4kw82RDf1ySue4t+jMN2QCFtzZo13Hjjjfz617/m6quvZseO\nHdx5550Eg0EcDgcPPvggPp8vcv1XX33FrbfeSu/evQHo06cPd999d/N8AhEREWnzagrBrAZ3J7C5\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Make a standard figure and axes\n", "fig = plt.figure()\n", "ax = fig.add_axes([0, 0, 1, 1])\n", "\n", "#Initialize a counter for the color,\n", "#noting Python uses 0-indexing\n", "counter = 0\n", "\n", "#Loop over the countries in the dataframe\n", "#and plot their emissions vs year\n", "for country in df['Country Name'].unique():\n", " X = df[df['Country Name'] == country]['Year']\n", " Y = df[df['Country Name'] == country]['emissions']\n", " \n", " #Plot X vs Y, setting the color, linestyle, marker, clip_on, and **label**\n", " ax.plot(X, Y, color=colors[counter], linestyle='--', marker='o', clip_on=False, label=country)\n", " \n", " #Don't forget to increment the counter!\n", " counter += 1\n", "\n", "#Put in a legend\n", "ax.legend()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[Sequential Color Palette](http://www.personal.psu.edu/cab38/ColorSch/SchHTMLs/CBColorSeq.html)\n", "--------------------\n", "\n", "A sequential color palette is useful when you have an ordering on numeric data, _and_ your data do not take both positive and negative values.\n", "\n", "The plot above does a good job of using lines to indicate increases/decreases in CO2 emissions over time. However, because the amount of emisssions can never go below 0, it might make sense to plot this data in a different way, using a heatmap." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Year199020002007200820092010201120122013
Country Name
China2.1682.6975.1545.4175.7236.5547.2357.4197.551
India0.7110.9791.1931.3101.4321.3971.4801.5971.590
Iran, Islamic Rep.3.7575.6567.8218.0238.0618.1518.2358.4547.997
Russian FederationNaN10.62711.67212.01511.02411.72612.36812.81812.467
United States19.32320.20819.23718.48917.19217.48517.01916.28716.390
\n", "
" ], "text/plain": [ "Year 1990 2000 2007 2008 2009 2010 2011 \\\n", "Country Name \n", "China 2.168 2.697 5.154 5.417 5.723 6.554 7.235 \n", "India 0.711 0.979 1.193 1.310 1.432 1.397 1.480 \n", "Iran, Islamic Rep. 3.757 5.656 7.821 8.023 8.061 8.151 8.235 \n", "Russian Federation NaN 10.627 11.672 12.015 11.024 11.726 12.368 \n", "United States 19.323 20.208 19.237 18.489 17.192 17.485 17.019 \n", "\n", "Year 2012 2013 \n", "Country Name \n", "China 7.419 7.551 \n", "India 1.597 1.590 \n", "Iran, Islamic Rep. 8.454 7.997 \n", "Russian Federation 12.818 12.467 \n", "United States 16.287 16.390 " ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#Reshape the data, so that countries are now the vertical axis, and years the horizontal.\n", "PT = df.pivot_table(index='Year', columns='Country Name', values='emissions').transpose()\n", "PT" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For this plot, we use seaborn's `cubehelix_palette` function to provide access to the cubehelix color map. Because later we'll be making a heatmap, which takes as input a matplotlib `colormap` object, we duplicate some code here to show the color palette, and then make the color map." ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAV0AAABECAYAAAAiJuZQAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAAYFJREFUeJzt2qFRZEEARdE/hLAJrEKCwmA2CQQGg9yqiWACIIKtYt0a\nDIIQMBgMCsQKCkECE8I0EQDq3y/mHNvmqVtdXb0aY4wJgMTB0gMA9onoAoREFyAkugAh0QUIfRnd\nsdtVOwD2wuq7L2Pb56dqS+7H8cn0enO39IzZHF6cTfebv0vPmMX/t+20vt1Mf86vlp4yi/XtZro8\n/b30jNn8e7yejn7+WnrGbF7eHz4987wAEBJdgJDoAoREFyAkugAh0QUIiS5ASHQBQqILEBJdgJDo\nAoREFyAkugAh0QUIiS5ASHQBQqILEBJdgJDoAoREFyAkugAh0QUIiS5ASHQBQqILEBJdgJDoAoRE\nFyAkugAh0QUIiS5ASHQBQqILEBJdgJDoAoREFyAkugAh0QUIiS5ASHQBQqILEBJdgJDoAoREFyAk\nugAh0QUIiS5ASHQBQqILEBJdgJDoAoREFyAkugCh1RhjLD0CYF+46QKERBcgJLoAIdEFCIkuQEh0\nAUIfYkAkdfMuffUAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Show the colors, by calling cubehelix_palette with as_cmap=False\n", "colors = seaborn.cubehelix_palette()\n", "seaborn.palplot(colors)" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": true }, "outputs": [], "source": [ "#Duplicate the code above, but use as_cmap=True to get a colormap\n", "cmap = seaborn.cubehelix_palette(as_cmap=True)" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAqcAAAHECAYAAAAEbYNtAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd4FGX3//HPpkOIEJpKR4GIQiBAKCEJJICIgBRFioQi\nIioSBZWigBFEBEVK6KI8IKEoKBYgFCH0DkbKQ5MWegktEEjb3x/+2K/7pBDIkuyO75fXXlcyc889\nZzYgJ+fcM2sym81mAQAAAHbAKa8DAAAAAO4iOQUAAIDdIDkFAACA3SA5BQAAgN0gOQUAAIDdIDkF\nAACA3SA5BYAH5OPjo7CwsIc2/9atW+Xj46PIyMiHdg5kz6lTp+Tj46OBAwfmdSiA4Zl4zimAfzKb\nzVq2bJl++eUX7d27V1evXpWXl5cef/xxhYaGql27dnr00UczPPbEiRP67rvvtGXLFp09e1ZJSUkq\nXLiw/Pz81Lp1azVs2DDD4+Lj4zVp0iStXLlSly9flpeXl2rWrKm33npLzzzzzD1jDgsL07Zt2+45\nrlGjRpo8efI9x2VXdHS0ChcurNq1a9tszn+Kj4/Xtm3bVKFCBVWoUOGhnOPfaOvWrerSpUu2xx88\neFCJiYlau3atSpYsqapVqz7E6ACQnAKwuHbtmvr06aOtW7fq6aefVrNmzfTYY4/p8uXL2rp1q2Ji\nYlSwYEGNHz9edevWtTp29uzZGjVqlDw8PNS8eXNVrVpVbm5uOnXqlJYtW6bDhw+rYcOGGjNmjAoU\nKGA57vLly2rbtq2uXr2qjh076qmnntKxY8f03XffKTU1VfPmzdPTTz+dZdx3k9NPP/1UXl5emY57\n9NFH5efnl7M3CQ7vbtL/T8uWLVN0dLS6du2qGjVqWO177rnncjM8AGYAMJvNaWlp5ldffdVcqVIl\n85QpU8xpaWnpxqxbt87s6+tr9vf3N1+6dMmy/bfffjNXqlTJ3LZtW/PFixfTHZeammr+6quvzJUq\nVTL36tXLat/gwYPNlSpVMi9fvtxq+8qVK82VKlUyh4eH3zP2zp07mytVqmS+cOFCdi8XsDJhwgRz\npUqVzL/99ltehwL867HmFIAkKSYmRhs2bNCzzz6rN954QyaTKd2YoKAg9evXT82aNVNCQoIkKSkp\nSZ9//rny58+vyZMnq2jRoumOc3JyUt++fRUSEqI1a9Zo/fr1ln3FixdXixYt1KRJE6tjgoODZTKZ\ndPDgQRtf6d/CwsL09NNP69atW/rwww9Vp04d+fn5qUePHjp37pxu3bqliIgIBQQEqGbNmurcuXO6\nWP53zanZbNaiRYv08ssvq06dOqpWrZqaNGmizz77TNeuXbM6dtWqVQoLC1NAQICqVq2qkJAQDR48\nWGfOnLGMyWzN6V9//aV+/fqpfv36euaZZxQQEKDw8PB08Q0cOFA+Pj46e/aspk+frsaNG6tKlSoK\nCgrSV199pdTU1AeKPTOxsbF64403VKdOHVWpUkXBwcEaNGiQTp06ZTlHw4YNVaNGDSUlJaU7fufO\nnfLx8VH//v0t206dOqVBgwYpMDBQVapUUf369fXee+/pr7/+yvBaDx48qNdee03Vq1dXTExMtuLO\njozWnN4956lTpzR69GjVr19f1apVU8eOHXXw4EGlpKRo7NixCg4Olp+fn1566SVt3bo13dwHDhxQ\neHi46tatqypVqqhhw4YaOnSozp8/b7P4AUfiktcBALAPixcvliR17949y3Fdu3a1+n7z5s26cOGC\n2rdvn+la1Ltee+01rVmzRosXL1ZQUJAkqU+fPhmOTUhIkNlstloC8DD0799f+fPn14ABA7R9+3b9\n+OOPGjRokNzc3FSgQAG9//77OnjwoGbPnq1+/fppyZIlmc719ddfa8yYMQoMDNT7778vNzc37d+/\nX1FRUdqxY4cWLVokk8mkpUuXqm/fvqpWrZrefvtteXl56ejRo5o9e7Y2bNigJUuWyNPTM8NzHDp0\nSB07dpSLi4s6dOig8uXL69SpU4qKilKHDh00d+5cVa5c2eqYsWPH6q+//lK3bt3k4uKi+fPna9q0\naSpSpIjl55nd2DOzefNm9ezZ0zJniRIldOTIEUVFRWnt2rX66aef9Oijj+r555/XN998o40bNyok\nJMRqjujoaEnSCy+8IEmKi4tTu3btLNdaqlQpnTx5UlFRUYqJidH8+fNVsWLFdNdavHhxffrpp7m2\nTveLL77QnTt31LdvXx05ckSzZs1SeHi46tWrp1OnTqlPnz46e/asZsyYofDwcK1bt07u7u6S/k7o\nu3TpokcffVQ9evRQsWLFdPDgQc2fP18xMTFatGiRihUrlivXAdgLklMAkqQ///xTHh4e8vX1va/j\nYmNjJSlbNwVVr15d7u7u2r179z3Hzp8/X5LUsmXLbMeSkJBg+Uc/IwUKFJCT0/81jFJTU+Xl5aWR\nI0dKktq2bas///xTmzZtUosWLTRmzBjL2GPHjmnt2rWKi4tT6dKlM5z/t99+U4ECBTR9+nQ5OztL\nklq1aiUfHx+tWLFCZ8+eVYkSJfTrr79KkqZOnarChQtbjq9Ro4ZmzZqlY8eOqUqVKhmeY/To0UpI\nSND8+fOt1s8GBwerXbt2GjNmjGbMmGF1zKFDh/T999/Lzc1N0t8V8EaNGmnFihWW5DS7sWdm2LBh\ncnJy0pw5c6zen2eeeUbvvvuuJk+erE8++UQtWrTQN998oxUrVlglp2azWStWrFCxYsVUr149SdKo\nUaOUlJSk77//XmXKlLGMffbZZ9W2bVt99dVXmjJlilUcycnJ+uyzzzKN82G4cuWKZs2aZUnejx49\nqrVr16pw4cKaO3euZfuVK1c0d+5c7dq1y3KNERER8vb21oIFC+Tt7W2Zs3bt2nrjjTc0bdo0DR48\nOFevB8hrJKcAJEmXLl1SsWLF5OJyf/9buHTpkqS/2/P34uLioqJFi1qOyczatWs1efJkPfPMM+rY\nsWO2Y7nXjSu///67SpUqZbWtTZs2Vt8/9dRTOnLkiFq3bp1u+9q1a3XhwoVMk1MXFxfdunVLBw4c\nsHrKQNu2bdW2bVurcZK0a9cuNW7c2LI9KCjIUlHOyK1bt7Rx40b5+Piku7HL19dXlSpV0ubNm3Xn\nzh2rJP2VV16xJKaSVLJkSRUpUkQXL16879gz8tdff+no0aMKDQ1N9948++yz8vLysrTYn376aT3x\nxBNavXq1UlJSrN6Lc+fOqVu3bnJ2dlZiYqJiYmJUr149FSpUSNevX7fMWaJECVWsWDHDJzQ8++yz\nWcb6MLRp08aqqnz3z0qrVq3SbZdked+PHz+u/fv3q3379nJ2dra6xpo1a6pQoULZegoFYDQkpwAk\n/b0u1PwAD++4W4lMS0vL1niz2WypzGVk8eLFGjx4sEqWLKmpU6daJVX3EhkZqYIFC2a6P6P2aMmS\nJa2+d3V1zXJ7SkpKpvO/+eabeuedd9SuXTvVq1dP9evXV/369eXj42M1rkePHlq/fr3efvtt1ahR\nQ0FBQQoICJCvr2+WrfMTJ04oLS0tXSv7rvLly+vQoUM6deqUnnzyScv2f1Yd73J3d7e6luzGnpFj\nx45JkipVqpRun7Ozs8qUKaN9+/bp9u3blqc5REZGasuWLQoMDJSUvqV/4sQJJScna926dfL398/0\n3Ddu3LB6QsP//vKRGx70z9CRI0ckSQsWLNCCBQsynDu7f68AIyE5BSDp78rn3WeT3k9CeLdievbs\n2XuOTU5O1qVLlzJtD0+aNEkTJkxQlSpVNH36dBUpUiTbcUiSn5/ffa/Py+xa7+c9uKtJkyaaP3++\nvv32W61bt04bNmyQ9HfSNmTIEMvSh+rVq2vRokX69ttvtWrVKu3cuVPjxo1TqVKlNGDAgEyrfzdv\n3pQk5c+fP8P9d6ult27dynC7LWLPKq58+fJluN/Dw8MSl4eHh1q2bKnIyEitWLFCgYGBlpb+k08+\naana3r3hLjAwUK+//nqm5/7fa8tsre7D9KB/hu6+b23atElXwb8rq19WAKMiOQUg6e/E7uTJk9q2\nbZulmpWZK1euWNbH3W0vb9q0KdN/YO/6448/lJSUpJo1a6bbN2LECM2ePVuhoaH66quvMk107J2v\nr6/GjRun5ORk/fHHH4qOjtaCBQvUo0cPLVmyxFLFfPLJJzVixAgNHz5ce/fu1cqVKxUVFaXw8HDN\nmTNHtWrVSjf33cTrf5PPuxITE63GPazYcxpX2bJlVaVKFa1atUoRERHavXu3zp07p759+1qOuXsj\nnJOTk+rUqfNA12Pv7r4fHh4ehr1G4EHwKCkAkv5v7eXUqVOzbO8vWrRIoaGhWrlypSSpTp06Kl26\ntKKjo3X8+PEsz/Htt99Kktq1a2e1fdKkSZo9e7batm2riRMnOmxi+k+urq7y9/fXkCFD1L9/fyUl\nJWnNmjXpxjk5OcnX11fvvfeevvjiC0sVMSPlypWTs7OzDh06lOH+I0eOyM3NLcet7ezGftfdJQQZ\nxZWSkqITJ06oVKlSVlXOli1b6vLly9q1a5eio6NlMpmsbn4rV66cXF1dtWfPHiUnJ6ebNz4+PieX\naBfuLs/YtWtXhvuNcI3AgyA5BSBJqlevnho3bqzt27dr2LBhGSYEa9eu1bBhw5Q/f35LZc/JyUlD\nhgxRcnKy3nrrLavndN6VlpamCRMmaPXq1WrTpo3VzTxbtmxRZGSkmjRpohEjRmS5HtWenT9/Xi1b\nttS4cePS7btbBXRzc9Pt27f18ssva8CAAVmOy0i+fPnUoEEDHTp0SDt27LDat23bNh07dkwhISH3\nvSQhu7Fnpnz58vLx8dHGjRsVFxdnte/XX3/VzZs30y1VaNasmZycnLR+/Xr9/vvvqlmzptUaTQ8P\nDzVs2FBXrlyxPObsrri4OIWGhurjjz++r+u0N2XLllXlypV18OBBbdq0yWpfbGys6tevr+nTp+dR\ndEDeoa0PwGL06NHq16+f5s6dq02bNqlly5YqU6aM4uPjtXnzZsXExKhMmTKaOnWq1WNvGjRooJEj\nR2ro0KFq3ry5WrRoIV9fX7m7u+v06dOKjo7WgQMH1KJFC33yySfpzin9nRxnVjFs0KBBtqqpMTEx\nWX58qSQ1atTIcmOKLT366KN6/PHHNXXqVJ05c0a1a9eWu7u75aNYixUrpqZNm8rDw0PPPPOM5s6d\nq+vXr6thw4by9PTU6dOnNXfuXOXPnz/Lu+P79++vHTt2qHfv3goLC1OpUqV0/PhxzZ07V97e3vrg\ngw8eWuxZGTp0qLp3764uXbqoY8eOlud1zp07V2XKlNEbb7yR7pz+/v764YcfdPnyZfXq1SvTa/3k\nk0909OhRVa5cWadPn1ZUVJRMJpPat29/39dqbz7++GN169ZNb7/9trp3764yZcro6NGjioqKUpEi\nRe7rUWqAUZCcArDw9PTUtGnTtHLlSi1evFjz58/X1atX5ebmpooVKyoiIkKtW7fOMFFs06aNateu\nrTlz5lgeJJ+cnKwiRYqoRo0aGjhwoOXZjv+0b98+SX8/JzMzGT0CKiPZeR7k9u3bH0pyKkkTJ07U\n119/rejoaK1atUp37tzRo48+queee05vvfWW5ZmmQ4cO1RNPPKHFixfryy+/1K1bt1S4cGHVrl1b\nb775pp544olMz1G+fHl9//33mjBhgubOnatr167J29tboaGh6t27d6aPubJV7JmpVauW5s6dq4kT\nJ2rGjBm6deuWihcvrpdffllvvfVWhk9RaNGihYYMGSI3N7cMHwNWpkwZ/fDDD5o0aZJ+/fVXzZ49\nW15eXqpdu7beeusty6OZHJmfn58WLFigyZMnKyoqSjdu3JC3t7caNWqkPn366PHHH8/rEIFcZzI/\nyLNjAAAAgIeANacAAACwGySnAAAAsBskpwAAALAbJKcAAACwGySnAAAAsBs8Sgo5cm5d5p8a42jS\n7qTkdQg2c/3UlbwOwabSUo3zUJG0lLS8DsFmkm8b5+9MkoGuJS3NOH9fjKbeh6/m+jl9yzaw6Xx/\nnlib5f7Ro0dr586dSklJUa9evVS1alX1799fqampKlasmL744ot7flAIySkAAABybMuWLTp8+LAW\nLFigK1euqE2bNqpXr546deqkZs2a6auvvtLChQvVqVOnLOehrQ8AAGBQJpPJpq+s+Pv7a/z48ZKk\nRx55RImJidq6dasaNWokSQoJCdHmzZvvGTPJKQAAAHLM2dlZ+fPnlyQtXLhQwcHBSkxMtLTxixQp\noosXL95zHpJTAAAA2MyqVau0cOFCDR061Gp7dj+UlDWnAAAABmUy5W4dcv369Zo6dapmzJghLy8v\n5c+fX7dv35aHh4fOnz+v4sWL33MOKqcAAAAG5SSTTV9ZuXHjhkaPHq1p06apUKFCkqSAgAAtX75c\nkrRixQoFBQXdM2YqpwAAAMixpUuX6sqVK3r33Xct2z7//HMNHjxYCxYsUIkSJdS6det7zkNyCgAA\ngBxr37692rdvn277zJkz72se2voAAACwG1ROAQAADOpezya1RySnAAAABuWUy3fr24LjRQwAAADD\nonIKAABgUI7Y1qdyCgAAALtBcgoAAAC7QVsfAADAoEz3+FQne0RyCgAAYFDcrQ8AAADkAMkpAAAA\n7AZtfQAAAIPiUVIAAABADlA5BQAAMCgnKqcAAADAgyM5BQAAgN2grQ8AAGBQJgesQzpexAAAADAs\nKqcAAAAG5YiPkiI5BQAAMCju1gcAAABygOQUAAAAdoO2PgAAgEGZRFsfAAAAeGBUTgEAAAzKyeR4\ndUjHixjaunWrfHx8dO7cuUzHNG3aVBMnTszFqAAAAHKOyqkdunDhgr7++mvFxMTowoUL8vDwUKVK\nldShQwc1b948W3MsX778IUcJAABgeySndubkyZPq2LGjqlevrilTpujJJ5/UtWvXtHTpUn344Yc6\ncOCAAgMD8zpMAADgABzxIfy09e3MJ598oqJFiyoyMlIVKlSQyWRSoUKF1KlTJ40aNUppaWlKS0uT\nJB09elQdOnSQr6+vGjZsqNWrV1vmCQ0N1dixYyVJkZGRateunZYuXaqmTZuqevXq6tixo44fP24Z\nHxsbq7CwMNWuXVv+/v7q2bOn4uLicvXaAQCAbTmZTDZ95UrMuXIWZEt8fLw2btyo7t27y8kp/Y/m\nueee0wcffGDZN3v2bH355Zfavn27ateurY8++siSuP6v48ePa/PmzVq4cKHWrFmjhIQEffXVV5Kk\npKQkvf7666pWrZo2bdqk1atXKzU1VYMGDXp4FwsAAJABklM7EhcXJ7PZrCeffDJb4zt16qRSpUrJ\n3d1dzz33nOLj43X58uUMxyYkJGjAgAHy8vKSt7e3goKCdPDgQUmSm5ubVq5cqfDwcLm4uMjLy0uN\nGjVSbGysza4NAAAgO1hzakfurgtxdXXN1vjSpUtbvvbw8JAk3blzJ8OxRYoUUYECBSzf58uXT4mJ\niZbvY2JiNHPmTB0/flwpKSlKS0tTSkrKfV8DAABATlA5tSPlypWTk5OT9uzZk63xGbX+H2Ts1q1b\n1b9/f73wwgvasGGD9uzZoyFDhmR7bgAAYJ9MNv4vN5Cc2pFHHnlEDRo00PTp05WUlJRu/5o1a9Sy\nZUuriqctxMbGytPTU927d5enp6dlGwAAcGxOJiebvnIl5lw5C7Jt8ODBunPnjjp16qQ///xTaWlp\nunbtmqKiotSvXz+1bt1a+fLls+k5S5curcTERO3bt083b97UvHnzdOzYMUnSmTNnbHouAACArJCc\n2plSpUrpp59+kp+fn/r166fq1aurWbNmWr16tSIjI9WjRw+bn/PZZ59VmzZt1KVLFzVu3FhxcXGa\nPHmyKlSooBYtWujEiRM2PycAAHj4TCaTTV+5ErPZbDbnyplgSOfWrcnrEGwm7Y5xbgC7fupKXodg\nU2mpxvnfVFpKxo97c0TJt43zdybJQNeSlmacvy9GU+/DV3P9nM/7drTpfEv/nGfT+TJC5RQAAAB2\ng0dJAQAAGFRufaqTLZGcAgAAGFRuPf7JlmjrAwAAwG6QnAIAAMBu0NYHAAAwqNx6/JMtUTkFAACA\n3aByCgAAYFCOeLc+lVMAAADYDZJTAAAA2A3a+gAAAAbFc04BAACAHKByCgAAYFBOJserQ5KcAgAA\nGBTPOQUAAABygOQUAAAAdoO2PgAAgEHxEH4AAAAgB6icAgAAGBTPOQUAAABygOQUAAAAdoO2PgAA\ngEE54g1RJKcAAAAGxUP4AQAAgBygcgoAAGBQjtjWp3IKAAAAu0FyCgAAALtBWx8AAMCgeAg/AAAA\nkANUTgEAAAyKG6IAAACAHCA5BQAAgN2grQ8AAGBQjvgJUSSnyBG3Ql55HYLtpKXldQQ2417YQD8X\nSWazOa9DsB0jXYuBmNMM9HPhzxj+gTWnAAAAQA6QnAIAAMBukJwCAAAYlMnG/2XHoUOH1LhxY82Z\nM0eSlJycrPfee08vvfSSunbtqmvXrmV5PMkpAAAAbOLWrVsaPny46tWrZ9n2/fffy9vbWwsXLtTz\nzz+vHTt2ZDkHySkAAIBBOZlMNn3di5ubm77++msVL17csm3NmjV64YUXJEnt27dXo0aNso45Z5cM\nAAAAe2UymWz6uhcXFxd5eHhYbTt9+rTWrVunsLAw9e3bV1evXs1yDpJTAAAAPDRms1nly5fXd999\np4oVK2ratGlZjic5BQAAwENTtGhR+fv7S5ICAwN15MiRLMeTnAIAABhUbq85zUhwcLDWr18vSdq3\nb5/Kly+f5Xg+IQoAAAA2sXfvXo0aNUqnT5+Wi4uLli9fri+//FIjRozQwoULlT9/fo0aNSrLOUhO\nAQAADCo7NzHZUpUqVfTdd9+l2z5hwoRsz0FbHwAAAHaD5BQAAAB2g7Y+AACAQWX3I0ftCZVTAAAA\n2A0qpwAAAAbl5HiFUyqnAAAAsB8kpwAAALAbtPUBAAAMKrefc2oLJKcAAAAG9aAfOZqXaOsDAADA\nblA5BQAAMChHbOtTOQUAAIDdIDkFAACA3aCtDwAAYFBODvjxpSSnAAAABsWaUwAAACAHSE4BAABg\nN0hOAQAAYDdYcwoAAGBQjvgJUSSnAAAABuWAuSltfQAAANgPklMAAADYDZLTf4mxY8cqNDRUknT6\n9GlVrVpVW7ZsyeOoAADAw+RkMtn0lRtYc+ogBg4cqBMnTmjevHk5nqtkyZLas2ePDaICAACwLZJT\nAAAAgzI54MeX0tZ3QKGhofrPf/6joUOHqnbt2qpTp46GDRsms9ksSUpLS9O4ceMUHBysmjVrasCA\nAbpz547l+FOnTsnHx0ebNm2SJN28eVNDhw5VUFCQ/Pz81Lx5cy1ZsiRPrg0AANiOyWSy6Ss3kJw6\nqBkzZig4OFibNm3SmDFjFBUVpZiYGEnSL7/8om+++UajRo3Sli1bFBoaqh9++CHTub766ivt3LlT\nP/30k3bs2KGwsDD1799fx48fz52LAQAA+P9ITh1UzZo11bhxY7m4uCgwMFCFCxfWwYMHJUlLly5V\ncHCw6tWrJ1dXVzVt2lS1atXKdK4BAwZo/vz5Klq0qJydndWqVSulpKRo3759uXU5AAAAklhz6rDK\nli1r9X2+fPmUmJgoSTp79qwCAgKs9leoUEGHDx/OcK6zZ89q9OjR2rlzpxISEixl+38uBQAAAI6H\nT4hCrslq3UdSUpKcnKyL4mlpaRmOTUtLU48ePVSyZEktXLhQJUuWVHJysqpWrWrTeAEAALKDtr4B\nPfbYYzp9+rTVtkOHDmU49vLly4qLi9Mrr7yiUqVKyWQyKTY2NjfCBAAAD5nJZNtXbiA5NaDQ0FCt\nW7dOO3bsUFJSkpYuXao///wzw7He3t4qUKCAdu/erZSUFP3555+aOXOmPD09debMmVyOHAAA/NvR\n1jegzp0769y5c3r33Xd169YthYSEqEuXLvrpp5/SjXVxcdHIkSP1+eefa968eapatapGjBihefPm\nadq0aXJ1dVWvXr3y4CoAAMC/kcl89+GYwAOI/3NHXodgO5msy3VE5lTjXIskGep/U0a6FgMxpxno\n58KfMbtVrG5grp/z4+c/sul8nywdYdP5MkJbHwAAAHaDtj4AAIBBOeLHl5KcAgAAGJQjPueUtj4A\nAADsBskpAAAA7AZtfQAAAINywK4+lVMAAADYDyqnAAAABmVywNIplVMAAADYDZJTAAAA2A3a+gAA\nAAbliM85JTkFAAAwKAfMTWnrAwAAwH6QnAIAAMBukJwCAADAbrDmFAAAwKC4IQoAAAB2wyTHS05p\n6wMAAMBuUDkFAAAwKD6+FAAAAMgBklMAAADYDdr6AAAABuXkeF19klMAAACjYs0pAAAAkAMkpwAA\nALAbtPUBAAAMirY+AAAAkANUTgEAAAzKEe/Wp3IKAAAAu0FyCgAAALtBWx8AAMCguCEKAAAAyAEq\npwAAAAblgIVTklMAAACjcnLA7JTkFDly4+i5vA7BZhIuJOR1CDZz5dzNvA7BpsxpaXkdAjJgNud1\nBLZjNtDFpKUZ51okycXFOCsQi9UNzOsQHIJxfuIAAABweFROAQAADMokx2vrUzkFAACA3SA5BQAA\nMCiTybav7Dh06JAaN26sOXPmSJLOnj2rbt26qXPnzurWrZsuXryY5fEkpwAAALCJW7duafjw4apX\nr55l27hx4/Tyyy9rzpw5atKkiWbOnJnlHCSnAAAAsAk3Nzd9/fXXKl68uGXbxx9/rKZNm0qSvL29\ndfXq1Szn4IYoAAAAg8rt55y6uLjIxcU6vcyfP78kKTU1VXPnzlXv3r2znuOhRQcAAIA8ZbKTh/Cn\npqaqf//+qlu3rlXLPyO09QEAAPBQDRo0SGXLltXbb799z7EkpwAAAHhofvnlF7m6uio8PDxb42nr\nAwAAGFRud/X37t2rUaNG6fTp03JxcdHy5ct1+fJlubu7KywsTJL05JNPKiIiItM5SE4BAABgE1Wq\nVNF3332XozlITgEAAAzKXm6Iuh+sOQUAAIDdoHIKAABgUE6OVzilcgoAAAD7QXIKAAAAu0FbHwAA\nwKAc8Ybxm9ApAAAgAElEQVQoklMAAACDcsDclLY+AAAA7AfJKQAAAOwGbX0AAACDcnLAvj6VUwAA\nANgNKqcAAAAGxd36AAAAsBsOmJvS1gcAAID9IDkFAACA3aCtDwAAYFCOuOaUyikAAADsBpVTAAAA\ng3LAwimVUwAAANgPklMAAADYDdr6AAAABsXHlzq4H3/8UT4+PkpJSXko82/fvl1Vq1ZVXFzcQ5kf\nAADA0T20yunAgQN14sQJzZs372GdwqHikCR/f3/t2bPngY/38fGRi4uLnJz+73eKAgUK6JlnnlF4\neLh8fX1tESYAADAIByycUjl1NBEREdqzZ4/ltWTJEpUvX17du3fXqVOn8jo8AACAHMm15DQ0NFSR\nkZF68cUX1bRpU0nSxYsX1bdvX9WvX19+fn5q27atNm3aZDlm4MCBevfddzV79mw1bNhQfn5+6tmz\npy5fvvzAcWzatEnt2rVTzZo1VatWLXXv3l1HjhzJcOzRo0f1+uuvq27duqpZs6ZeeeUV7du3z7I/\nLCxMo0aN0ogRI1SrVi0FBATohx9+0I4dO/TCCy+oevXq6ty5s86fPy9J2rp1q3x8fHTixAlJ0s2b\nNxUREaF69erJ399fvXr10smTJ+/regoXLqxBgwYpNTVVK1eutGzfsmWLOnXqpFq1asnf3199+/bV\nxYsXLft9fHwUFRWl119/XdWrV1fdunX17bff3te5AQAAbC1XK6eLFi3SoEGDFB0dLUkaMmSI4uPj\ntXz5cm3btk1BQUF6++23lZCQYDlmy5Ytio+P17Jly7RkyRLt379fM2bMeKDzJycnq3fv3nrxxRe1\nbds2xcTEqHz58ho8eHCG49955x0VLFhQMTEx2rhxo0qVKqU+ffpYjfn555/l5+enLVu2KCwsTJ99\n9plmzZql//znP1q3bp2uX7+umTNnZjj/0KFDdeDAAS1evFjr1q1TwYIF1bNnT6Wlpd3XdaWkpCg1\nNVXu7u6SpCNHjqhXr1564YUXtHnzZi1dulTXr1/Xe++9Z3Xc119/rZ49e2r79u0aOnSoRo0aZfXL\nAQAAcGwmk8mmr9yQq8lp1apVVatWLcvFjRs3TpMnT1aBAgXk6uqqli1b6ubNm1aVTBcXF4WHhytf\nvnwqUaKEatWqpYMHDz7Q+ZOSknTnzh25u7vL2dlZBQoU0JAhQzR//vwMx8+bN0/Dhw+Xh4eHPDw8\n9Pzzz+v06dNWFcgyZcro+eefl4uLi5o0aaJbt27plVdeUeHChfXII48oMDAww8rslStXtGzZMr3+\n+ut69NFHlS9fPvXv31/vvPOO7ty5k+1runjxoiIiIuTu7m6pSH///feqXLmyOnToIFdXVxUrVkz9\n+/fX1q1brSqzjRo1kr+/v1xdXfX888+rcuXKWr58ebbPDQAA7JvJZNtXbsjVR0mVLl3a6vtDhw5p\n3Lhx2rdvn27evGnZ/s/krFSpUlY3AOXLl08XLlx4oPN7enqqX79+Gjp0qKZNm6Z69eqpSZMmCggI\nyHD87t27NWnSJB05ckR37tyR2WxOF1/JkiUtX3t4eKTbli9fvgyTzVOnTik1NVWlSpWybCtatKie\nf/75LK8hIiJCw4YNkySZzWYlJyerSZMmmjt3rooUKSLp7+UIsbGxqlq1qtWxzs7OOnXqlMqUKSNJ\neuKJJ6z2ly5dWufOncvy/AAAAA9TrlZOXV1dLV/fuHFDPXr0kLe3t3777Tft3btXv/zyS7pjbF1C\nfu2117R+/Xr16dNHiYmJ6t27d7p2tyQdO3ZMb775pvz8/LRq1Srt2bNHU6ZMyVZ82YnZ2dlZku67\nhf/PG6JWr16tggULys/PT5UqVbKM8fDwUMOGDa1unNqzZ4/2799vlYj/77nNZnOulewBAMDDR1v/\nPvz111+6fv26Xn31VRUrVkyS9Oeffz7088bHx6tQoUJq3ry5Pv/8c02ePFm//fabrl69ajVu//79\nSk5OVq9evVSoUCFJUmxsrM3iKF26tFxcXHT06FGr2L755pt0sWSmePHi+uijjzRu3DgdOHDAsr1c\nuXI6ePCgVfJ5584dy41Zd929MeuukydPqkSJEg9yOQAAADaRZ8lpiRIl5OzsrF27dik5OVmbNm2y\nrHc8e/Zstufp2rWrZs2ala2xO3fuVKNGjbRhwwalpqYqKSlJf/zxh4oWLaqCBQtajb27BGHnzp26\nc+eOli1bpu3bt993fJnx8vJSixYtNHXqVMXFxen27dsaP368vv/+e3l5eWV7nlatWikwMFAffPCB\nkpKSJEkdOnTQxYsXNW7cOCUkJOjatWv65JNP1LVrV6uEddWqVdqxY4eSk5O1ZMkSHTx4UM2aNZP0\n9y8Kzz33nM6cOZPjawUAAMiuPEtO71b9pk2bptq1a2vOnDkaMWKEmjVrpqFDh+rnn3/O1jxxcXHZ\nrjTWrFlTAwcO1IgRI1SjRg0FBQVp27Ztmjp1arpSta+vr9544w19+OGHCgwM1Lp16zRx4kTVrFlT\nPXv21LZt2+77mv/XJ598ourVq6tt27YKDAzUmTNnNG3aNEvLP7uGDRumCxcuaMyYMZL+Xqc7bdo0\nbd68WQEBAWratKmuXbumr7/+2mr9bocOHTR9+nT5+/vr008/1eDBg+Xv7y9JSkxM1LFjx5ScnJzj\n6wQAAHnDEW+IMpnv3uXjoJYuXaoLFy6oW7dueR2KQ/Hx8dGnn36qdu3a5WieE4t/s1FEeS/hQsK9\nBzmIK+du3nuQAzHf59ps5A7H/tfDmoP/U2glLc041yJJLi7G+bygoIieuX7On96eYNP52kwMt+l8\nGXH4n3h0dLQCAwPzOgwAAADYQK4+SuphmDDBtr8RAAAAIO84fHKKB/OgH2QAAADwMJGcAgAAGJQj\nPr6c5BQAAMCgHPHDdRz+higAAAAYB8kpAAAA7AZtfQAAAINywK4+lVMAAADYDyqnAAAABuWIN0SR\nnAIAABiUA+amtPUBAABgP0hOAQAAYDdo6wMAABiUI645pXIKAAAAu0HlFAAAwKAcsHBK5RQAAAD2\ng+QUAAAAdoO2PgAAgEFxQxQAAACQA1ROAQAADMoBC6ckpwAAAEbl5IDZKW19AAAA2A2SUwAAANgN\n2voAAAAG5YBdfSqnAAAAsB9UTgEAAAyK55wCAAAAOUByCgAAALtBWx8AAMCgHLCrT3IKAABgVCYn\nx8tOaesDAADAbpCcAgAAwG7Q1keO5K/fIK9DsJktg2fkdQg2czMxOa9DsKnklLS8DsFmPPO55nUI\nNnM7KTWvQ7CZO8kpeR2CzSQZ6O+LJLk4O15bOjNBeR2AgyA5BQAAMChuiAIAAIDd4CH8AAAAQA5Q\nOQUAADAoByycUjkFAACA/aByCgAAgBy7efOmBgwYoGvXrik5OVm9e/dWUND9P6OA5BQAAMCgcvOG\nqJ9++knly5fXe++9p/Pnz6tr166Kjo6+73lo6wMAABiUyWTbV1a8vb119epVSdL169fl7e39QDFT\nOQUAAECONW/eXD/++KOaNGmi69eva9q0aQ80D5VTAAAA5NjPP/+sEiVKaOXKlZo1a5aGDRv2QPNQ\nOQUAADCqXFxzumvXLgUGBkqSnnrqKV24cEGpqalydna+r3monAIAACDHypYtq9jYWEnS6dOn5enp\ned+JqUTlFAAAwLBy82799u3b68MPP1Tnzp2VkpKiiIiIB5qH5BQAAAA55unpqfHjx+d4Htr6AAAA\nsBtUTgEAAAwqF7v6NkPlFAAAAHaDyikAAIBBmZwcr3RKcgoAAGBQtPUBAACAHCA5BQAAgN2grQ8A\nAGBQufkQfluhcgoAAAC7QeUUAADAoBywcErlFAAAAPaD5BQAAAB2g7Y+AACAQTniDVEkpwAAAAbl\ngLkpbX0AAADYD5JTAAAA2A3a+gAAAAbliGtOqZwCAADAblA5BQAAMCoHLEM6TMivvvqqBg0alNdh\n3LcTJ07Ix8dHW7duzdXzNm3aVBMnTszVcwIAAOTUPSunYWFh2rFjh1xc/m+om5ubypUrp27duqll\ny5YPNcC7vv3224c6/48//qhBgwbJzc0t3b5HHnlEGzdufKjnz6k1a9aoePHieuaZZyRJy5cvz+OI\nAABAXnPENafZaus3b95cX375peX727dva9myZRo4cKDc3NzUtGnThxZgbtu9e7dVIu4oIiMj1bFj\nR0tyCgAA4IgeqK3v4eGhNm3aqG7duvrpp58kSadOnZKPj482bdpkGfe/Le19+/YpLCxM/v7+8vPz\nU4cOHbRjxw5Jktls1rhx4xQSEqJq1aopKChII0eOVHJysqS/K7jvv/++Ze7FixerZcuW8vPzU2Bg\noIYOHarbt29bxbJ+/Xp1795dfn5+CgkJ0aJFix7kcq0sW7ZMbdu2lZ+fn+rVq6chQ4YoISHBsn/7\n9u1q1aqVqlevrjZt2mjv3r1Wx6empmrixIlq2rSpqlWrpkaNGmnGjBmW/T/++KPq1KmjqKgo1apV\ny/L+ZnW9wcHB2rdvnyIiIvTCCy9IkkJDQzV27FjLvCtWrLDEXadOHfXv319Xr1596O8XAADA/cjR\nmtOkpCR5eHhke/x7772nGjVqaOPGjdqyZYtCQkL0/vvvKzU1VUuXLtXChQs1a9YsxcbGavbs2YqJ\nickwQdqzZ48GDBigfv36affu3Zo7d65Wr16t6dOnW40bP368BgwYoB07dqhVq1aKiIjQlStXHvh6\nN23apAEDBuitt97Sjh07tGDBAu3du1cjRoyQJN28eVNvvvmm/P39tWXLFk2YMEHfffed1RwTJ07U\n4sWLNWHCBO3atUujRo3SlClTtHjxYsuYO3fuaN++fVq7dq1at259z+tdt26dJCkiIkK//PJLuri3\nbdumd955Rz169NDWrVu1cOFCHTp0SB988MFDfb8AAEDeMpls+8oND5ScJiQkaO7cudqxY4fatm2b\n7eNu3LghV1dXubq6yt3dXb169VJMTIycnZ11/fp1mUwmubu7S5LKly+v6OhodejQId08VapU0ebN\nmxUSEiJJKlOmjGrWrKnY2FircW3atNFTTz0lZ2dntWjRQklJSTp27NiDXLIkKSoqSk2aNFHjxo3l\n7OysMmXKqE+fPvr11191+/ZtrVu3TgkJCerTp488PDxUunRpdevWzXJ8Wlqa5s6dq549e8rHx0fO\nzs6qVauW2rVrp++//94yLjExUV27dpWnp6dMJlO2rzczc+bMUXBwsJo3by43NzeVLl1ab775ptat\nW6dLly49tPcLAADkLZPJZNNXbsjW4solS5ZY3WCTlJSkKlWqKDIyUsHBwdk+Wf/+/TVs2DAtWrRI\n9erVU2hoqEJCQizJUHR0tBo1aqQaNWooICBALVu2VMmSJdPNk5aWptmzZ+u3337ThQsXZDablZKS\nolq1almNK1u2rOXruxXeu63wzPj5+aXbVqNGDc2aNUtHjx7ViRMntGLFinTxnD9/XmfPntUjjzyi\nggULWvZVrFjR8nV8fLyuXr2q4cOH69NPP7VsN5vNKlasmNWcZcqUue/rzcyJEycUGBhota1ChQqS\npLi4OMu5H+T9AgAAsKX7viEqLS1NnTp1UqFChdS4ceMsj0tNTbX6vlWrVmrcuLE2b96sDRs26KOP\nPlLFihU1a9YseXl5adasWTp8+LA2bNig33//XRMnTlRkZKSlYnjXlClTNHv2bI0fP15169aVq6ur\n+vXrp4sXL1qNc3K6/8JwVjdEeXh4qFOnTho8eHCG+5OSktL9VpGWlmZ1vCSNHTtWTZo0yTIOV1dX\ny9fZvd7M3LlzR2azOcO4/hnvg7xfAAAAtnTf2YiTk5NGjhypzZs3a/78+ZbtdxOvxMREy7aTJ09a\nHRsfHy9PT081btxYERER+uGHH7R9+3YdOHBASUlJSkhIUMWKFdW9e3fNmTNHzZo104IFC9LFsHv3\nbtWuXVtBQUFydXVVWlpauhuPHoZy5crpv//9r9W269evW24seuyxx3Tjxg2rG6QOHTpk+bpAgQIq\n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\niAwODlrbz58/L4GBgXL58mUZGhqS6Oho2b17t00fq1evltWrV9s9S19fn+Tm5srvv/9uvXb16lXx\n9/eX6upqef3112XVqlU279mzZ49ERUWJxWKR77//XgIDA0Wn01nb9Xq9zJo1S44ePerQPEpnGcmm\nTZtk5cqVds3hyDzBwcFSVlZm00dsbKx89tlnLpXFaDRKQECAVFZW2vSxePFiKSkpcaosIiI7duyQ\nv//+Wz766KNhRYMrzZk7ZREROXLkiDQ3N8uFCxcULU4d8b0UFBTIyZMnba5HREQM+65cIc/AwIBU\nVFQM++UtIiLC7nNmvOOyPjlEamoqZs6cOWKbSqXC0NCQzTUvLy+0trZa2wFAbvlLu15eXhgaGsLZ\ns2fR0dEBnU6HkJAQmz5CQkIUWaKcPHkyCgsL8dBDD1mv3VwqnTp1Kpqbm0cci8FgwIULF9Dc3IwZ\nM2bAy8vL2j5lyhRMnz4dZ86ccWgepbPc7ty5cygvL8c777xj1xyOzKPRaFBZWYnu7m5YLBYcPnwY\nRqMRarXa5bKMNPemTJlinXvOkgUAVq1ahUmTJo3YvyvNGeDfswBAYmIiZs+ebddxj0TpLCqVCvn5\n+YiMjLRe02q1GBgYwNSpU+2cRvk87u7ueOGFF+Dj4wMA6O/vx+7duyEiWLBggd3zjGcsTmnUJSYm\noqqqCrW1tTCbzWhra8NXX30Fg8EAEcG8efOgUqlQVFSE/v5+6HQ6bNmyBRMnToRer4dOpwMAeHp6\n2vTr5eVlbVNSf38/cnNzMX/+fAQHB0On0404FuDGc2R6vX5Y+83XaLXaUc1j7yy3KyoqQmpqKqZN\nm6ZMgNsokWfTpk1wd3eHWq1GUFAQcnNzUVhYiEceecSlsnh4eCAuLg6lpaVob2+H2WzGt99+i6am\nJuj1eqfKcieuNGecmdJZzGYzNmzYgICAADz55JN2GfO/UTKPRqNBeHg4vvzyS5SWlv7jzRf6b1ic\n0qhbvnw5li9fjry8PMTGxuKTTz7BkiVL4ObmBpVKhWnTpmHnzp1oampCfHw8Xn75ZcTGxmLSpElw\nc3P7175v3nVVSldXF5YsWQJvb28UFRXdc393Gq+SeZTO0traipqaGmRlZd1z33dDqTw5OTkYGhrC\nd999h9OnT+PDDz/EW2+9ZbPpwt6UyrJ582YEBgYiPT0darUaJ0+exHPPPYcJEybc82f8E3tnuRNX\nmjOjSeksBoMBK1asgFarRWlpKe677z67f8atlM5z5MgRNDY2Ij09HZmZmWhsbLT7Z4xnLE5p1Lm5\nuWHNmjU4duwYGhsbsXPnTqhUKvj5+VlfEx0djYqKCjQ1NeHgwYNQq9XQ6/Xw8/OzLrEYDAabfvV6\nPby9vRUbd0tLC1JTUxEeHo6SkhJ4eHgAAHx8fEYcCwD4+vrC29t7WPvN1/j4+IxKHqWy3Oqbb75B\neHg4HnzwQUUy3EqpPO3t7fjhhx+wbt06TJ8+He7u7tBoNIiOjsYXX3zhUlkA4IEHHsDWrVtRW1uL\nmpoa5Ofn48qVKzZzzxmy3IkrzRlnpHSWjo4OpKWlwdPTE2VlZYr+XAYc991MnjwZS5cuRVRUFPbs\n2XPP46b/Y3FKo+7cuXM4duyYzbXjx49jzpw5AIC+vj7s37/f5uioEydOwMPDA4899himTZsGX1/f\nYc+WNTU1ISIiQpEx//rrr1i5ciWysrJQUFBgc6cpLCxsxLH4+vpixowZCAsLQ2dnp82y95UrV9DR\n0YGIiAiH51Eyy60OHz7skOeylMxz8/nM24+esVgsNs9Eu0IWAPjxxx/R0tJibTeZTGhoaLDOPWfJ\ncieuNGecjdJZent78corryAhIQHFxcW4//777Tr+2ymZp62tDfHx8TZHIQI3HldQ+k7wuDO6+7Fo\nvBlpt35VVZWEhITIqVOnZHBwUPbt2ychISHS3t4uIjd2SEZFRckHH3wgJpNJfvvtN1Gr1TbHf5SU\nlMjcuXOltbVVTCaTVFZWSlBQkJw5c8buGQYHB2XhwoWydevWEdtPnz4tQUFBUlVVJSaTSVpaWiQ2\nNlY+//xz6/ufffZZWbt2reh0OtFqtfLGG29IcnKy9UQCR+VxRBYRka6uLsWPxHFEnuvXr8szzzwj\nGRkZ0tPTI2azWY4dO2Y9nsaVsoiI5OfnS1JSkvT09IjRaJSNGzdKUlKSmEwmp8pyq3/a4e4qc+Zu\nstyk9G59R2TJzs62OfZPSUrnMZlMotFoJCsry3qU3KFDh2TWrFl2n//jnUpEgV/3iW6j0WjQ3d0N\nEcH169cxYcIEqFQqPP/883jvvfewY8cO7Nu3D319ffD398ebb75ps8OzqakJ77//Ptrb2+Hp6Ym0\ntDS89tprNjv5P/30U5SXl0On02HmzJnIycnB/Pnz7Z6lsbERS5cutWa41c081dXV+Pjjj3HhwgX4\n+PjgxRdfxKuvvmp9fU9PD959913U19dDpVIhNjYWeXl51iVvR+VxRBYAaG5uxuLFi1FVVYWHH37Y\nrhkcnefixYvYtm0bGhsbYTAY4Ofnh8zMTKSmprpcFqPRiPz8fJw4cQIWiwVz5sxBXl6e3Zf17zVL\nV1cXkpKSANy4S22xWDBx4kQANzaopaSkuMycuZssGRkZOHXq1LCfl5GRkdi1a5fLZImOjkZ8fPyI\n/ds7iyPypKSkoLu7G1u2bMHPP/8Mi8WC6dOnY9myZVi0aJFds4x3LE6JiIiIyGnwmVMiIiIichos\nTomIiIjIabA4JSIiIiKnweKUiIiIiJwGi1MiIiIichosTomIiIjIabA4JSIiIiKnweKUiIiIiJwG\ni1MiIiIichr/AzUmufjFuTyXAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Make a standard figure and axes\n", "fig = plt.figure()\n", "ax = fig.add_axes([0, 0, 1, 1])\n", "\n", "#Use the seaborn.heatmap() function to display PT.as_matrix(),\n", "#setting cmap as the cmap above\n", "seaborn.heatmap(PT.as_matrix(), ax=ax, cmap=cmap)\n", "\n", "#Adjust the x and y-tick labels\n", "years = PT.columns.values\n", "countries= list(reversed(PT.index.values))\n", "\n", "#Set x,y labels, and a title\n", "ax.set_xticklabels(years, fontsize=15)\n", "ax.set_yticklabels(countries, rotation=0, fontsize=15)\n", "ax.set_title('CO2 Emissions over Time', fontsize=20)\n", "#Show the plot\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[Diverging Colormap](http://www.kennethmoreland.com/color-maps/)\n", "-------------\n", "\n", "A diverging colormap is good when your data takes positive and negative values relative to some reference value. (So, for example, the temperature relative to room temperature, or elevation relevative to sea level, are data sets where using a diverging colormap would be useful.)\n", "\n", "The plot above shows each country's _absolute_ CO2 emissions. What if we wanted to look at, say, how much higher/lower they were relative to some reference country? In that case, a diverging colormap would be good." ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "scrolled": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Year199020002007200820092010201120122013
Country Name
China0.0000.0000.0000.0000.0000.0000.0000.0000.000
India-1.457-1.718-3.961-4.107-4.291-5.157-5.755-5.822-5.961
Iran, Islamic Rep.1.5892.9592.6672.6062.3381.5971.0001.0350.446
Russian FederationNaN7.9306.5186.5985.3015.1725.1335.3994.916
United States17.15517.51114.08313.07211.46910.9319.7848.8688.839
\n", "
" ], "text/plain": [ "Year 1990 2000 2007 2008 2009 2010 2011 \\\n", "Country Name \n", "China 0.000 0.000 0.000 0.000 0.000 0.000 0.000 \n", "India -1.457 -1.718 -3.961 -4.107 -4.291 -5.157 -5.755 \n", "Iran, Islamic Rep. 1.589 2.959 2.667 2.606 2.338 1.597 1.000 \n", "Russian Federation NaN 7.930 6.518 6.598 5.301 5.172 5.133 \n", "United States 17.155 17.511 14.083 13.072 11.469 10.931 9.784 \n", "\n", "Year 2012 2013 \n", "Country Name \n", "China 0.000 0.000 \n", "India -5.822 -5.961 \n", "Iran, Islamic Rep. 1.035 0.446 \n", "Russian Federation 5.399 4.916 \n", "United States 8.868 8.839 " ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#Pick a reference country, and assign it\n", "#to sub_country\n", "sub_country = 'China'\n", "\n", "#Some pandas code which subtracts the values of\n", "#sub_country from each element in the pivot table,\n", "#while keeping the indexing correct.\n", "sub_df = PT.sub(PT.ix[sub_country, :], axis=1)\n", "\n", "sub_df" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For this plot, we use seaborn's `diverging_palette` function to choose a diverging colormap. Again, we need to re-call the code using ``as_cmap=True`` to get a colormap" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgQAAABECAYAAAD+xS3TAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAAbVJREFUeJzt2bFKllEAx+GfYULDh4tro0OjmxDdQZPgNQgSBl1IoIbQ\nNQRO3UEEbo4OjYGTi3xDUMHrFaSLr0fsedaXA//t/XHOyjRNUwDAf+3Z6AEAwHiCAAAQBACAIAAA\nEgQAQHcEwe+/fx5qBwAws+ODy39+W73t4Nrq815/Orj3QY/F93dH7Z8ejp4xm5Od930++zp6xmz2\ntt929vNi9IxZbL981XK5HD1jNovFoh/nv0bPmM3m1ou+nV6PnjGbNzvrffl4NXrGbHY/bNz643yq\nPBkAAIIAABAEAECCAABIEAAACQIAIEEAACQIAIAEAQCQIAAAEgQAQIIAAEgQAAAJAgAgQQAAJAgA\ngAQBAJAgAAASBABAggAASBAAAAkCACBBAAAkCACABAEAkCAAABIEAECCAABIEAAACQIAIEEAACQI\nAIAEAQCQIAAAEgQAQIIAAEgQAAAJAgAgQQAAJAgAgAQBAJAgAAASBABAggAASBAAAAkCACBBAAAk\nCACABAEAkCAAABIEAECCAABIEAAA1co0TdPoEQDAWG4IAABBAAAIAgAgQQAAJAgAgAQBAFDdAFD4\nJ08KK/k4AAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Create a color map using the diverging_palette function,\n", "#with inputs (150, 275, s=80, l=55, n=9)\n", "colors = seaborn.diverging_palette(150, 275, s=80, l=55, n=9)\n", "\n", "#Display the color map\n", "seaborn.palplot(colors)" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": true }, "outputs": [], "source": [ "#Repeat the code above, but use as_cmap=True to get a cmap\n", "cmap = seaborn.diverging_palette(150, 275, s=80, l=55, n=9, as_cmap=True)" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "image/png": "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\ncwyLxWJERUXZLE9ISDCCg4ONWrVqWS+1Z7T9+5gNwzB27txpWCyWHJUHTJo0KVN5wB9//GE888wz\nRsuWLW3OBcMwjJEjRxoWi8VYs2bNbft9+eWXDYvFYvzxxx+3bfdPGeUB3t7exu7du23eyyhJio2N\ntWk7ZMgQa5u7OY/v5jMD8grlAUAeu3jxokqUKCFX17u7sHHx4kVJf13mvxNXV1eVLFnSuk52fvjh\nB02dOlVVqlRRx44dczyWpk2bKjAwMNvX3y+9Z2jbtq3N90899ZQkWTNf/1weFxeX7fZdXV2VmJio\nQ4cO2Sxv166dpk+fbr35KOMY//zzzzbt6tWrpy+++EJVq1bNsv/ExET99NNP8vb2lr+/v817vr6+\nslgsio6OznRZ9uWXX5a7u7v1+zJlyqhEiRK6cOHCXY89K5cuXZKUuxvdNm7cKCcnJ7300ks2yz09\nPRUSEqJr165lOk6NGzfWAw88YP0+47MJDg5WsWLFMi3/+35maN++vc257uXlpTp16ujKlSs6evSo\nJCkoKEhz5sxRy5YtJf11/K9du2Y9FufOncvUr4+PT6aMaFRUlDw9PfXss8/q2rVr1ldaWpoaNGig\ny5cvW7cZHR0tSdZtZggMDLynWSQ2bdqk1NRUtW/f3uZcyDgWkrR58+bb9nHx4kU5Ozvn6Gc9Kxml\nH3/n7e0t6fY/Vxlych7n5jMD7I3yACCPOTs7Z6rny+l6kpSenp6j9oZhyMXFJdv3V6xYoWHDhqlM\nmTKaPn16pl+wtzN58mQ9+OCD2b5fqlSpTMv+GWBk1Olltzw1NTXb/vv06aM333xTHTp0UJ06dfTs\ns8/q2Weftf5iztCjRw/9+OOPeuONN1S9enXVq1dPdevWla+v720vwZ86dUrp6el68skns3y/YsWK\nOnLkiM6ePatKlSpZl5cvXz5T20KFCtnsS07HnpW7PQf+7vjx4ypVqpQeeuihLPdHkk6cOKE6depY\nl9vjM8sqAMwIxmJjY637HRUVpTlz5ujIkSOZ6j7/WUuZ1Rikv2qQExISFBgYmOm9DLGxsXrmmWes\n9adZTRlVqVIl/f7779n2cTvHjx+XpCzPnYzjfPLkydv2kfF/hGEYtz1Ps5PVPhUuXFiSdOvWrTuu\nn5PzWLr7zwywN4JWII+VLl3aOrfq3QSKGb/oz58/f8e2KSkpunjxYrZZu4yau6pVq+rzzz+31uLl\n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\nSQEBAQoMDNSAAQN04cIF6/ve3t5asGCBevXqJT8/P9WuXVuzZ8++q20DAABkiI6OVuPGjSVJlSpV\n0tWrV5WQkGC3/vM10xoZGamhQ4dq3bp1kqThw4crPj5e69ev186dO1WvXj298cYbNjsYExOj+Ph4\nrV27VmvWrNHBgwf1xRdf5Gr7KSkp6tu3r9q3b6+dO3dqy5YtqlixooYNG5Zl+zfffFMPPvigtmzZ\nop9++klly5ZVv379bNqsXLlS/v7+iomJUVhYmD788EPNmTNHX331lbZu3apr167pyy+/zLL/ESNG\n6NChQ1qxYoW2bt2qBx98UD179lR6evpd7VdqaqrS0tJUqFAhSdLvv/+u3r1764UXXlB0dLSioqJ0\n7do1vfXWWzbrzZw5Uz179tSuXbs0YsQIjR071uaPBgAAgJy6ePGiihUrZv2+ePHiNgmze5WvQauP\nj48CAgLk9P/PdDthwgRNnTpVnp6ecnNzU6tWrXTjxg2bzKerq6v69++vwoUL67HHHlNAQIAOHz6c\nq+0nJycrKSlJhQoVkouLizw9PTV8+HAtXrw4y/aLFi3S6NGj5eHhIQ8PDzVv3lznzp2z+QDKly+v\n5s2by9XVVU2aNFFiYqJefvllFS9eXA888ICCgoKyzORevnxZa9euVa9evfTwww+rcOHCGjx4sN58\n800lJSXleJ8uXLigkSNHqlChQtYM9tdff62nn35aoaGhcnNzU6lSpTR48GDt2LHDJpPbqFEjBQYG\nys3NTc2bN9fTTz+t9evX53jbAAAA2TEMw6795es8reXKlbP5/siRI5owYYIOHDigGzduWJf/PWgr\nW7aszY1HhQsXVlxcXK62X7RoUQ0cOFAjRozQjBkzVKdOHTVp0kR169bNsv0vv/yiKVOm6Pfff1dS\nUpL14P99fGXKlLF+7eHhkWlZ4cKFswxCz549q7S0NJUtW9a6rGTJkmrevPlt92HkyJEaNWqUpL9O\nhpSUFDVp0kQLFy5UiRIlJP1V1rB37175+PjYrOvi4qKzZ8+qfPnykqQnnnjC5v1y5crpjz/+uO32\nAQAAslK6dGldvHjR+n1cXJxKlSplt/7zNdPq5uZm/fr69evq0aOHihUrpm+//Va//fabVq1alWkd\nJzs/f+zVV1/Vjz/+qH79+unmzZvq27dvpsvmknTixAn16dNH/v7+2rhxo/bv369p06blaHw5GbOL\ni4sk3XUpwN9vxNq0aZMefPBB+fv7y2KxWNt4eHioQYMGNjds7d+/XwcPHrQJ0P+5bcMw7H68AQDA\nv8Ozzz5rvWJ74MABlS5dWp6ennbrv8BmDzh27JiuXbum7t27W6Pwffv25fl24+Pj9dBDD6lFixb6\n+OOPNXXqVH377be6cuWKTbuDBw8qJSVFvXv31kMPPSRJ2rt3r93GUa5cObm6uur48eM2Y5s1a1am\nsWSndOnSevfddzVhwgQdOnTIurxChQo6fPiwTVCalJRkvSEsQ8YNYRlOnz6txx57LDe7AwAA/uWq\nV6+uKlWqKDQ0VB988IHee+89u/ZfYEHrY489JhcXF/38889KSUnR9u3brdH5+fPnc9zPK6+8ojlz\n5uSo7Z49e9SoUSNt27ZNaWlpSk5O1q+//qqSJUvqwQcftGmbUcqwZ88eJSUlae3atdq1a9ddjy87\nXl5eatmypaZPn64zZ87o1q1bmjhxor7++mt5eeX8EWmtW7dWUFCQ3n77bSUnJ0uSQkNDdeHCBU2Y\nMEEJCQm6evWq3n//fb3yyis2gezGjRu1e/dupaSkaM2aNTp8+LCaNWsm6a8/IJo2barY2Nh73lcA\nAPDvMGjQIC1evFiLFi3SU089Zde+CyxozcgSzpgxQzVr1tT8+fM1ZswYNWvWTCNGjNDKlStz1M+Z\nM2dynJmsUaOGwsPDNWbMGFWvXl316tXTzp07NX369EyXxX19ffXaa6/pnXfeUVBQkLZu3aqIiAjV\nqFFDPXv21M6dO+96n//p/fffl5+fn9q1a6egoCDFxsZqxowZ1tKBnBo1apTi4uI0btw4SX/VAc+Y\nMUPR0dGqW7euQkJCdPXqVc2cOdOmPjg0NFSff/65AgMD9cEHH2jYsGEKDAyUJN28eVMnTpxQSkrK\nPe8nAADAvXIy7H1rVz6LiopSXFycunbtWtBDua94e3vrgw8+UIcOHe6pn4tnzRPU3kq8u/piR+bk\nTG2yo3I20SNd3NzNc545u5pnX8zGrejNgh6C3dzNlVR7uX79ul37K4h9yHDf//e5bt06BQUFFfQw\nAAAAkIfydcqrvDBp0qSCHgIAAIBDSjHRFZH7PmhF7uT2AQ0AAAAFgaAVAADApNLv71uXbBC0AgAA\nmNR9fr+9jfv+RiwAAACYH5lWAAAAkzJTppWgFQAAwKTSZZ6glfIAAAAAODwyrQAAACZFeQAAAAAc\nnpmmvKI8AAAAAA6PTCsAAIBJUR4AAAAAh2emoJXyAAAAADg8Mq0AAAAmxTytAAAAQD4i0woAAGBS\nZqppJWgFAAAwqXQjvaCHYDeUBwAAAMDhkWkFAAAwKTM9EYugFQAAwKTMVNNKeQAAAAAcHplWAAAA\nk6I8AAAAAA7P4OECAAAAQP4h0woAAGBSZroRi6AVAADApMxU00p5AAAAABwemVYAAACTojwAAAAA\nDs9MQSvlAQAAAHB4ZFoBAABMKt1E87QStOKeGIVuFfQQ7Obc3oIegf0UKmquiygmuroljyJOBT0E\nu3Eyz66YSnp6QY/AvlxdzROqeAUU9Ajub+Y5EwAAAGAj3UR/xRC0AgAAmBSPcQUAAADyEZlWAAAA\nkzLTE7EIWgEAAEyKeVoBAACAfESmFQAAwKQoDwAAAIDDozwAAAAAyEdkWgEAAEzKTPO0ErQCAACY\nlJlqWikPAAAAgMMj0woAAGBSZroRi6AVAADApCgPAAAAAPIRmVYAAACTSjfSC3oIdkOmFQAAAA6P\nTCsAAIBJcSMWAAAAHJ6ZHi5AeQAAAAAcHplWAAAAkzLTlFcErQAAACZlpppWygMAAADg8AhaAQAA\nTCrdMOz6yo1Zs2apdevWat++vfbt25frfaE8AAAAwKQKujzg6NGjWrNmjSIjI3X48GF9//338vX1\nzVVfBK0AAADIE5s3b1azZs3k6uqqKlWqqEqVKrnui6AVAADApAp6ntZz587JxcVFPXr0UGpqqoYO\nHaqnnnoqV30RtAIAAJhUfk55tXTpUi1dutRm2cWLF1WvXj198cUX2rNnj959911FRkbmqn+CVgAA\nANyzDh06qEOHDjbLJk2apCeeeEJOTk4KCAjQuXPnct0/swcAAACYlGEYdn3drfr162vbtm2SpGPH\njunRRx/N9b6QaQUAADCpdCO9QLfv5+enrVu36qWXXpIkjRgxItd9ORkFPRcC7msXLlwv6CHYzfGd\nBT0C+ylU1FwXUcz0v5RHEaeCHoLdOJlnV0wlvWBjFLtzdTXPiWYJKJzv21z1v2i79vfC03Xs2t/d\nINMKAABgUvl5I1Zeu2/SMd27d9fQoUMLehh37dSpU/L29taOHTvydbshISGKiIjI120CAADklTtm\nWsPCwrR79265uv5fU3d3d1WoUEFdu3ZVq1at8nSAGWbPnp2n/S9fvlxDhw6Vu7t7pvceeOAB/fTT\nT3m6/Xu1efNmlS5d2jpp7/r16wt4RAAAoKCZqQo0R+UBLVq00Keffmr9/tatW1q7dq3Cw8Pl7u6u\nkJCQPBtgfvvll19sAvT7xeTJk9WxY8d7etIEAAAwl399eYCHh4fatm2r2rVr65tvvpEknT17Vt7e\n3tq+fbu13T8vjR84cEBhYWEKDAyUv7+/QkNDtXv3bkl//SUwYcIEBQcHq1q1aqpXr54++ugjpaSk\nSPor4zto0CBr3ytWrFCrVq3k7++voKAgjRgxQrdu3bIZy48//qhu3brJ399fwcHBuZ7M9u/Wrl2r\ndu3ayd/fX3Xq1NHw4cOVkJBgfX/Xrl1q3bq1/Pz81LZtW/32228266elpSkiIkIhISGqVq2aGjVq\npC+++ML6/vLly1WrVi0tWLBAAQEB1uN7u/2tX7++Dhw4oJEjR+qFF16QJDVs2FDjx4+39vvdd99Z\nx12rVi0NHjxYV65cyfPjBQAAYA/3VNOanJwsDw+PHLd/6623VL16df3000+KiYlRcHCwBg0apLS0\nNEVFRWnZsmWaM2eO9u7dq7lz52rLli1ZBk779+/XkCFDNHDgQP3yyy9auHChNm3apM8//9ym3cSJ\nEzVkyBDt3r1brVu31siRI3X58uVc7+/27ds1ZMgQvf7669q9e7eWLFmi3377TWPGjJEk3bhxQ336\n9FFgYKBiYmI0adIkzZs3z6aPiIgIrVixQpMmTdLPP/+ssWPHatq0aVqxYoW1TVJSkg4cOKAffvhB\nbdq0ueP+bt26VZI0cuRIrVq1KtO4d+7cqTfffFM9evTQjh07tGzZMh05ckRvv/12nh4vAABQsAw7\n/ytIuQpaExIStHDhQu3evVvt2rXL8XrXr1+Xm5ub3NzcVKhQIfXu3VtbtmyRi4uLrl27JicnJxUq\nVEiSVLFiRa1bt06hoaGZ+qlataqio6MVHBwsSSpfvrxq1KihvXv32rRr27atnnrqKbm4uKhly5ZK\nTk7WiRMncrPLkqQFCxaoSZMmaty4sVxcXFS+fHn169dPq1ev1q1bt7R161YlJCSoX79+8vDwULly\n5dS1a1fr+unp6Vq4cKF69uwpb29vubi4KCAgQB06dNDXX39tbXfz5k298sorKlq0qJycnHK8v9mZ\nP3++6tevrxYtWsjd3V3lypVTnz59tHXrVl28eDHPjhcAAChYBf1wAXvKUfHmmjVrbG7sSU5OVtWq\nVTV58mTVr18/xxsbPHiwRo0apcjISNWpU0cNGzZUcHCwNUhat26dGjVqpOrVq6tu3bpq1aqVypQp\nk6mf9PR0zZ07V99++63i4uJkGIZSU1MVEBBg0+7xxx+3fp2REc64pJ4df3//TMuqV6+uOXPm6Pjx\n4zp16pS+++67TOP5888/df78eT3wwAN68MEHre89+eST1q/j4+N15coVjR49Wh988IF1uWEYKlWq\nlE2f5cuXv+v9zc6pU6cUFBRks6xy5cqSpDNnzli3nZvjBQAAkB/u+kas9PR0derUSQ899JAaN258\n2/XS0tJsvm/durUaN26s6Ohobdu2Te+++66efPJJzZkzR15eXpozZ46OHj2qbdu26fvvv1dERIQm\nT55szTBmmDZtmubOnauJEyeqdu3acnNz08CBA3XhwgWbds7Od59Ivt2NWB4eHurUqZOGDRuW5fvJ\nycly+sds2+l/m+U5IxAcP368mjRpcttxuLm5Wb/O6f5mJykpKdNfRxnj+vt4c3O8AACA4/pX34jl\n7Oysjz76SNHR0Vq8eLF1eUZAdvPmTeuy06dP26wbHx+vokWLqnHjxho5cqSWLl2qXbt26dChQ0pO\nTlZCQoKefPJJdevWTfPnz1ezZs20ZMmSTGP45ZdfVLNmTdWrV09ubm5KT0/PdMNTXqhQoYL+97//\n2Sy7du2a9YamRx55RNevX7e5MevIkSPWrz09PVWyZEkdPHjQpo8///xTycnJ2W73Xve3QoUKOnz4\nsM2yo0ePytnZ2Sa7CgAAzMVM5QG5Sq1VrFhRAwYM0NixY3Xy5ElJUvHixfXQQw9p3bp1Sk5OVmxs\nrM1NSLGxsapfv75Wr16t5ORkpaamas+ePSpUqJAee+wxjRo1Sn369FFsbKykvwK5kydP6oknnsi0\n/fLly+v48eO6fPmyLl68qPfff19eXl6Ki4tTampqbnYpR7p06aI9e/ZowYIFunXrli5cuKBBgwZp\nwIABkqSgoCC5urpqypQpunXrlk6ePJnpRqxXXnlFCxYsUHR0tNLS0nTo0CF16tRJs2bNyna7Odnf\nwoUL68SJE7p69Wqm9Tt27KiffvpJq1evVmpqqk6cOKGpU6fq+eefV7Fixex4hAAAAPJGrq8Hd+nS\nRU8//bTefvttpaamytnZWaNHj9bPP/+swMBA9evXT3379rW2f+yxxzR+/HjNmjVLNWvWVO3atbVk\nyRJNmzZNxYoV05AhQ1S2bFm1b99evr6+eumll+Tj46P+/ftn2vZrr72mRx55RMHBwXrppZfk7++v\nd999V1evXs3Thx34+/tr3LhxWrx4sQIDA9WmTRsVK1ZM48aNkySVLFlS06ZN07Zt21SrVi29+eab\n6t27t00fPXr00Msvv6yhQ4fKz89Pffv2Vdu2bTO1u9v9DQsL0/z589WiRYtM6z/33HP66KOP9MUX\nXygwMFCvvvqq6tWrp48//tiORwcAADiadMOw66sgORkFnevFfe3ChesFPQS7Ob6zoEdgP4WKmqs+\n2Uz/S3kUcbpzo/uEk3l2xVT+diuFKbi6mudEswQUzvdtLvh1k137e9mvoV37uxvm+s0GAAAAU7r/\nnlcKAACAHEk3zJN6J2gFAAAwKTNVgVIeAAAAAIdHphUAAMCkCvqOf3si0woAAACHR6YVAADApMxU\n00rQCgAAYFKUBwAAAAD5iEwrAACASRkyT6aVoBUAAMCkzFTTSnkAAAAAHB6ZVgAAAJMy041YBK0A\nAAAmRXkAAAAAkI/ItAIAAJgU5QEAAABweGaa8oryAAAAADg8Mq0AAAAmlZ6eXtBDsBuCVgAAAJNK\npzwAAAAAyD9kWgEAAEyKeVoBAACAfESmFQAAwKTMlGklaAUAADApMz1cgPIAAAAAODwyrQAAACZF\neQAAAAAcHo9xBQAAAPIRmVYAAACTMtONWAStAAAAJmWmmlbKAwAAAODwyLTinnw9JqGgh2A3AU08\nC3oIAADYFeUBgAnt+s48AXiJR831o+1WyKmgh2A3hT3Nc4HLxdU8n4u7h5n2xTznmNlYAgrn+zbT\njfR832Ze4cwGAACAwzNXOgYAAABW3IgFAAAA5CMyrQAAACaVbqInYhG0AgAAmBTlAQAAAEA+ItMK\nAABgUmbKtBK0AgAAmJSZHi5AeQAAAAAcHplWAAAAk6I8AAAAAA7PTFNeUR4AAAAAh0fQCgAAYFKG\nYdj1lRs7d+5UnTp1tHnzZuuyQ4cOqVOnTurcubNef/113bx58479ELQCAACYVEEHradPn9aXX36p\n6tWr2yz/4IMPFB4ervnz5+vxxx/X8uXL79gXQSsAAADyRKlSpRQRESEvLy+b5dOnT5evr68kqXjx\n4rpy5cod+yJoBQAAMKl0I92ur7tVuHBhubi4ZFru6ekpSUpMTNTKlSvVtGnTO/bF7AEAAAAmlZ8P\nF1i6dKmWLl1qs6xfv36qV69elu0TExPVp08fde/eXZUqVbpj/wStAAAAuGcdOnRQhw4dctQ2NTVV\nr7/+ulq2bKl27drlaB2CVgAAAJNy1IcLzJw5UzVr1sxxkCsRtAIAACCPbNmyRbNmzdLx48d14MAB\nzZs3T7Nnz9aCBQtUtmxZRUdHS5Jq1aqlN95447Z9EbQCAACYVH7WtGalQYMGatCgQabl27Ztu+u+\nCFoBAABMyuAxrgAAAED+IdMKAABgUo56I1ZuELQCAACYVEHXtNoT5QEAAABweGRaAQAATIryAAAA\nADi8dGYPAAAAAPIPmVYAAACTojwAAAAADi/dSC/oIdgN5QEAAABweGRaAQAATIp5Wk0qJCREERER\ndu2zfv36mjx5sl37BAAAyAnDMOz6Kkj3fdDasGFDjR8/Psv3wsLCNGjQoBz3tX79er3xxhvW76dN\nm6b09LytBTlz5oyGDh2q4OBg+fr6yt/fX6GhoVq3bp1Nu/nz5+vKlSs57vfIkSP67rvv7D1cAACA\nAnHfB6155fDhw5owYUKeBq2JiYnq3Lmzbt26pXnz5mnv3r368ccf1axZM/3nP//RDz/8IEm6du2a\nPvzwQ129ejXHfS9fvpygFQCAfzkyrfehHTt2yNvbW7/++qtefPFF+fn5KSQkxBoYSv+Xtf3hhx/U\nrl07SZK/v79mzZolSTp06JC6d++uWrVqyd/fXz179tSJEyes6//xxx/q0aOHqlevroYNG+qbb765\n7ZiOHj1qXads2bJycnKSp6enXnnlFY0fP15lypTR77//rrp16yotLU0tWrTQ6NGjJUl79+5VWFiY\natasqcDAQPXs2VNnzpyRJL311lv66quvtGbNGvn4+OjixYuSpAULFqhVq1by8/NT/fr19d///lep\nqamS/jqpJ0yYoODgYFWrVk316tXTRx99pJSUFDt9AgAAALn3rwlaM0yePFnjxo3Tzp075e/vr/Dw\n8Ex/OTz33HPW4PCXX35Rjx49FB8fr1deeUV+fn764Ycf9MMPP6hEiRLq3bu30tLSJElDhgzRjRs3\ntGHDBq1cuVIxMTG6fPlytmMpV66cPDw8NGXKFGvAmaFZs2aqXLmyKleubA2a16xZo+HDhys5OVm9\nevVStWrVtH37dm3atElpaWkaOnSoJGncuHEKDAxUixYttH//fpUsWVLLli3TpEmT9N577+nnn3/W\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Instantiate a standard figure and axes\n", "fig = plt.figure()\n", "ax = fig.add_axes([0, 0, 1, 1])\n", "\n", "#Make a heatmap of sub_df.as_matrix()\n", "seaborn.heatmap(sub_df.as_matrix(), ax=ax, cmap=cmap)\n", "\n", "\n", "#Set x,y tick labels\n", "years = sub_df.columns.values\n", "countries = list(reversed(sub_df.index))\n", "\n", "\n", "#Set x,y labels and title.\n", "#Use .format(sub_country) to indicate what country\n", "#the data is being compared to\n", "ax.set_xticklabels(years, fontsize=15)\n", "ax.set_yticklabels(countries, rotation=0, fontsize=15)\n", "ax.set_title('CO2 Emissions Compared to {0}'.format(sub_country), fontsize=20)\n", "\n", "#Show the plot\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "What trends do you spot in CO2 emissions relative to the country you chose?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Sharing Your Figures\n", "==========\n", "\n", "While Jupyter notebooks are a great way to display and interact with code and data, sometimes you may find yourself needing to send a figure to your advisor, or put it in your paper. How do you get figures out of matplotlib, and into other file formats? We use the ``figure.savefig()`` method to do so. But first, we should take a look at some common file formats, and when it's appropriate to use them." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "> Choosing a Good File Format\n", "--------------\n", "\n", "We've all seen it before - a figure which is pixellated, or doesn't quite look right. Such issues commonly arise from using the wrong file format. Some useful formats are:\n", "\n", "* [Portable Document Format (PDF)](https://en.wikipedia.org/wiki/Portable_Document_Format)\n", "\n", " Everyone usually has some kind of pdf reader on their computer, making the pdf format useful when you want something \"which just works\".\n", "\n", "\n", "* [Scalable Vector Graphics (SVG)](https://en.wikipedia.org/wiki/Scalable_Vector_Graphics)\n", "\n", " SVG is really nice when you want to make sure people can zoom in/out of your figure. This file format is supported by modern browsers. SVG is also stored as _text_, making it easy to parse SVG files using computer code.\n", " \n", "* [Portable Network Graphics (PNG)](https://en.wikipedia.org/wiki/Portable_Network_Graphics)\n", "\n", " A lossless compression file type. Personally, I have never used it." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "> Saving Figures with ``figure.savefig()``\n", "------------\n", "\n", "Once we've made a matplotlib ``Figure``, we can save it using the ``.savefig()`` function. One super-useful keyword argument is ``bbox_inches``, which controls how much of the figure matplotlib tries to save. When set to ``tight``, matplotlib attempts to find the tightest bounding box which contains all the elements of the figure." ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "collapsed": true }, "outputs": [], "source": [ "#Save the figure from the previous section in pdf, svg, and png\n", "#You can use a loop!\n", "\n", "for file_format in ['pdf', 'svg', 'png']:\n", " fig.savefig('emissions.{0}'.format(file_format), format=file_format, bbox_inches='tight')" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python [default]", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.5.3" } }, "nbformat": 4, "nbformat_minor": 2 }