{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Getting set up\n", "\n", "### Installing pyWaffle\n", "\n", "We'll be using the [`pyWaffle` library](https://github.com/ligyxy/PyWaffle), which you can install with `pip`.\n", "\n", "```bash\n", "pip install pywaffle\n", "```\n", "\n", "### Importing into your Jupyter Notebook\n", "\n", "You'll need to import all of these to make it work!" ] }, { "cell_type": "code", "execution_count": 71, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "from pywaffle import Waffle" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Type 1: Using columns for drawing\n", "\n", "Sometimes you'll just want to use columns right out of your dataframe." ] }, { "cell_type": "code", "execution_count": 85, "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", "
crime_typenumber_of_cases
0felony54
1misdemeanor12
2violation8
\n", "
" ], "text/plain": [ " crime_type number_of_cases\n", "0 felony 54\n", "1 misdemeanor 12\n", "2 violation 8" ] }, "execution_count": 85, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = pd.DataFrame({\n", " 'crime_type': ['felony', 'misdemeanor', 'violation'],\n", " 'number_of_cases': [54, 12, 8]\n", "})\n", "df" ] }, { "cell_type": "code", "execution_count": 90, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/Users/jonathansoma/.pyenv/versions/3.6.5/lib/python3.6/site-packages/matplotlib/figure.py:2267: UserWarning: This figure includes Axes that are not compatible with tight_layout, so results might be incorrect.\n", " warnings.warn(\"This figure includes Axes that are not compatible \"\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = plt.figure(\n", " FigureClass=Waffle, \n", " rows=5,\n", " values=df.number_of_cases,\n", " labels=list(df.crime_type)\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Type 2: Using pandas calculations for a waffle chart\n", "\n", "First we'll read in/create our dataset..." ] }, { "cell_type": "code", "execution_count": 63, "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", "
Districtparty
0District 12Republican
1District 23Republican
2District 32Republican
3District 45Republican
4District 65Democrat
5District 67Democrat
6District 33Democrat
\n", "
" ], "text/plain": [ " District party\n", "0 District 12 Republican\n", "1 District 23 Republican\n", "2 District 32 Republican\n", "3 District 45 Republican\n", "4 District 65 Democrat\n", "5 District 67 Democrat\n", "6 District 33 Democrat" ] }, "execution_count": 63, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = pd.DataFrame({\n", " 'District': ['District 12', 'District 23', 'District 32', 'District 45', 'District 65', 'District 67', 'District 33'],\n", " 'party': ['Republican', 'Republican', 'Republican', 'Republican', 'Democrat', 'Democrat', 'Democrat']\n", "})\n", "df" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can't use this raw data for our waffle chart, because we need a list of numbers for it! In order to chart the number of Democrats and Republicans, we need to first get a value counts..." ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Republican 4\n", "Democrat 3\n", "Name: party, dtype: int64" ] }, "execution_count": 54, "metadata": {}, "output_type": "execute_result" } ], "source": [ "calculated = df.party.value_counts()\n", "calculated" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "...then you'll feed the `index` and `values` into your waffle chart separately. The `index` (on the left) will be your labels, the values (on the right) will be the number of each square to display. If you don't use `list()` with the labels part it won't work." ] }, { "cell_type": "code", "execution_count": 69, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/Users/jonathansoma/.pyenv/versions/3.6.5/lib/python3.6/site-packages/matplotlib/figure.py:2267: UserWarning: This figure includes Axes that are not compatible with tight_layout, so results might be incorrect.\n", " warnings.warn(\"This figure includes Axes that are not compatible \"\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = plt.figure(\n", " FigureClass=Waffle, \n", " rows=2, \n", " values=list(calculated.values),\n", " labels=list(calculated.index)\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Hot tips: Customizing your graphic\n", "\n", "You can use `figsize=`, `legend=`, and [other options](https://github.com/ligyxy/PyWaffle), too." ] }, { "cell_type": "code", "execution_count": 95, "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", "
crime_typenumber_of_cases
0felony54
1misdemeanor12
2violation8
\n", "
" ], "text/plain": [ " crime_type number_of_cases\n", "0 felony 54\n", "1 misdemeanor 12\n", "2 violation 8" ] }, "execution_count": 95, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = pd.DataFrame({\n", " 'crime_type': ['felony', 'misdemeanor', 'violation'],\n", " 'number_of_cases': [54, 12, 8]\n", "})\n", "df" ] }, { "cell_type": "code", "execution_count": 96, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/Users/jonathansoma/.pyenv/versions/3.6.5/lib/python3.6/site-packages/matplotlib/figure.py:2267: UserWarning: This figure includes Axes that are not compatible with tight_layout, so results might be incorrect.\n", " warnings.warn(\"This figure includes Axes that are not compatible \"\n" ] }, { "data": { "image/png": "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J08+fdiwYeVVVVX9jua1E7wAABnx3nvvlcycObNu06ZNqzZt2lSycOHCntXV1etuv/32LbfffvvXDj73rrvu+trTTz9ds379+jVPPfXUxoiI2bNnn9qxY8fGt99+e/Vtt932/po1azpHRGzbtq34jjvu+Nrzzz9fs2bNmrUjRozYc+utt5Y2P9fpp5++f926dWvOO++8XT/60Y/6L1myZNOrr766btasWX0ivojljRs3lrz55ptr165du+aNN97o9OSTT3aJiFi4cOHm1atXr33jjTfWzJ8/v7S2trYoIuLzzz8vHDNmzK7169evGTNmzK7f//73vSIiqqqqTp8yZcr2mpqaNZMmTdpeVVV1WvOObdu2tX/99dfXLViwYMvRvG6CFwAgI/r27btv9OjRnxcVFUVZWdnnF1988c7CwsIYMWLEni1btnQ4+NxRo0btmjJlSv85c+acUl9fHxERL774Ypcrr7xye0TEeeed93lZWdmeiIhnn32286ZNm0pGjx5dXl5eXvHwww/3fPfdd9s3P9f3v//9TyIihg4dumfEiBG7u3fv3tinT5/69u3bN3700UdFTz311EnPP//8SRUVFRWDBw+u2LRpU8m6detKIiJmzZpVOnDgwIqRI0cOqq2tbbd69eqSiIh27do1XXHFFZ9GRIwcOXL3P//5z/YREStWrOg8ffr0HRERVVVVO5YvX96lecdll132cXHx0d/54R5eAICMaN++fVPz14WFhVFSUtIUEVFUVBQNDQ0FB5+7aNGid//+9793fuKJJ7qNHDmyYvny5WuO9LxNTU0xduzYnUuWLHnncMebr1NYWPhfGw4cOFDQ1NQUN9xww7Zf/OIXHx38uKVLl3Z97rnnulZXV6/r2rVr4+jRowd+/vnnhRERxcXFTYWFX7z3WlxcHPX19f+x/3C6dOnS2No5h+MdXgCABK1evbrDxRdfvPt//ud/3u/evXv922+/3X7s2LG7Fi5c2CMi4rXXXiupqanpFBHx7W9/e3d1dXWXVatWdYiI2LlzZ+Gbb77ZoaXnP9i4ceN2/vnPfz6l+b7fd955p93WrVuLP/nkk6Ju3bo1dO3atXHFihUlK1eu7Nzacw0fPnz3ggULukdEzJ8/v8eoUaN2fZmf/2De4QUA+DJKOtcf648lO2bPFRE33nhjv82bN3doamoqGDt27M7zzz//82HDhu294oorzhwwYMDgs88+e29FRcXuiIg+ffrUz58/f/MVV1wxYP/+/QUREbfccsvWYcOG7WvLtS677LKdq1evLvn6179eHhHRqVOnxoULF74zceLET//whz/0GjBgwOABAwbsrays3N3ac91zzz3vTp06tf/dd9/du2fPnvUPPvjg5q/wMkSE4AUA+FK+6mfmHq2BAwfu37Bhw+rmXy9evHjzEY5tj4h4+umnNx36HF26dGlaunTp24d7/gkTJnw2YcKEtYd+f+vWrW81f/2zn/1se/PzH3rs5ptv/uDmm2/+4NDHP//88xsOd709e/asaP562rRpH0+bNu3jiIiysrL9r7zySs2h5x/88x4ttzQAAJA0wQsAQNIELwAASRO8AAAkTfACAJC0XAZvXQ6v3ZrWtuXr9qzujmh5W1Z3t+V4LnnNT6ys7o7I7vas7o7I722QOQVNTU2tnwUA8P+5lStXbq6srPz3vyT2vw+vqNy7r+GYfcRrSYei+p9cMfyoPups8+bN7X784x+f9tRTTx32o8YivvjXzubMmVO6bNmyjUc65+WXX+743nvvtZ80adKnERELFy7stnr16o533HFH7dHsyaWVK1eeUllZ2f9wx3wOLwDAl3AsY/fLPl///v0PtBS7bVVdXd2purq6c3PwTpky5dOI+PSrPm++cA8vAEAG/OQnP+l755139mr+9YwZM/r8+te/Lj3nnHMGR0Ts2bOn4Hvf+17/srKyikGDBlUsWbKk66HPsWzZsk7nnntu+aBBgyqGDx9evnLlyg579+4tuPPOO/ssWbKke3l5ecUf//jH7vPmzes5derU0yMi1q9f3/78888vKysrqxgzZkzZhg0b2kdETJw4sf8Pf/jD04YPH17er1+/offff3/3E/VaHC3BCwCQAVOmTNnx6KOP9mj+9eOPP979ggsu+Pc/1Ttr1qxTCwoKoqamZs2iRYvenj59ev89e/YUHPwclZWVe1977bV1a9euXXPLLbdsvemmm/qVlJQ0/fKXv3z/u9/97sfr1q1bc+2113588GOqqqpOnzJlyvaampo1kyZN2l5VVXVa87G6urp21dXV6x5//PENt9xyS9/j+fN/FW5pAADIgG984xufb9++vXjz5s3ttm3bVtytW7eGM888c3/z8ZdffrnL9ddf/0FExPDhw/f26dNn/1tvvVVy8HPs2LGjaNKkSWdu3ry5pKCgoOnAgQMFh17nUCtWrOj85JNPboqIqKqq2vGb3/ymX/OxCRMmfFJUVBQjR47cu3379nbH7qc9tgQvAEBGTJgw4eOHHnqoe21tbbvLLrtsx9E+fubMmX2/9a1vffa3v/1t0/r169tffPHFA7/KnpKSkn9/+kE+fxCCWxoAADLiBz/4wY7Fixf3WLp0afcrr7zyP249+MY3vrHroYce6hER8eabb3bYtm1b+2HDhu09+JydO3cW9evXb39ExPz5809p/v5JJ53UsGvXrsN24fDhw3cvWLCg+78e02PUqFG7jvXPdbzl7B3e615YVBsRpbm6fivq5l84ufeRDubx9qzujmhhe1Z3R2R3e1Z3R+T19hZ3N8y9Ol93R0TUFc24N4vbW9w994HqfN0dEVE346pRR9xOfijpUFR/rD+WrLVzRo0atXf37t2FpaWl+88444wD69evb9987Kabbvpg6tSpZ5SVlVUUFRXF/PnzN3fs2PE/3nadOXNm7TXXXHPmrFmz+lx66aWfNH9/3Lhxn82ePftr5eXlFT//+c+3HfyYe+65592pU6f2v/vuu3v37Nmz/sEHH9x8DH7cEyqXtzTk6x8yEa1vy9ftWd0d0fK2rO5uy/Fc8pqfWFndHZHd7VndHZHf2/iXo/3M3GOlpqZmTfPXAwcO3L9hw4bVERGdOnVqeuSRRzYfev748eM/Gz9+/GcREZdccsnuzZs3r2o+Nm/evPcjIkpLSxtWrVq19pCHbo+IKCsr2//KK6/UHPq8ixcv/o9r7dmzZ8WX/qGOM7c0AACQNMELAEDSBC8AQNs0NjY2tvoxXpx4//rv0nik44IXAKBtVn344YfdRG9+aWxsLPjwww+7RcSqI53jc3gBANqgvr7+mtra2gW1tbVDwpuG+aQxIlbV19dfc6QTBC8AQBuMHDnyg4iYkOsdHD1/OwEAIGmCFwCApAleAACSJngBAEia4AUAIGmCFwCApAleAACSJngBAEia4AUAIGmCFwCApAleAACSJngBAEia4AUAIGmCFwCApAleAACSJngBAEia4AUAIGmCFwCApAleAACSJngBAEia4AUAIGmCFwCApAleAACSJngBAEia4AUAIGmCFwCApAleAACSJngBAEia4AUAIGmCFwCApAleAACSlsvgrcvhtVvT2rZ83Z7V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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = plt.figure(\n", " FigureClass=Waffle, \n", " rows=7,\n", " values=df.number_of_cases,\n", " labels=list(df.crime_type),\n", " figsize=(10, 5),\n", " legend={'loc': 'upper left', 'bbox_to_anchor': (1.1, 1)}\n", ")\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.5" } }, "nbformat": 4, "nbformat_minor": 2 }