{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "\n", "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# How to create lollipop charts from a pandas dataframe\n", "\n", "### Read in your data" ] }, { "cell_type": "code", "execution_count": 2, "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", "
streetshootingsdurationdur_per_daydur_per_hour
0Java Str1612547.01.1630140.048459
1East 18 Str1702547.01.1630140.048459
2Grand Str1682619.01.1958900.049829
3Eagle Str1802626.01.1990870.049962
410 Av1592638.01.2045660.050190
\n", "
" ], "text/plain": [ " street shootings duration dur_per_day dur_per_hour\n", "0 Java Str 161 2547.0 1.163014 0.048459\n", "1 East 18 Str 170 2547.0 1.163014 0.048459\n", "2 Grand Str 168 2619.0 1.195890 0.049829\n", "3 Eagle Str 180 2626.0 1.199087 0.049962\n", "4 10 Av 159 2638.0 1.204566 0.050190" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = pd.read_csv(\"street-data.csv\")\n", "df.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### The inflexible way: using `plt.stem`\n", "\n", "After I wrote this rest of this, I [read about `plt.stem`](https://python-graph-gallery.com/181-custom-lollipop-plot/). It makes everything so easy! But it's kiiiind of inflexible, which is why you might want to try the other options." ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(0, 1.5)" ] }, "execution_count": 52, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots()\n", "\n", "# Draw the stem and circle\n", "ax.stem(df.street, df.dur_per_day, basefmt=' ')\n", "\n", "# Start the graph at 0\n", "ax.set_ylim(0, 1.5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Building a horizontal lollipop graph with a categorical y axis\n", "\n", "We're going to use `plot.subplots()` to make an empty graph, then...\n", "\n", "* `ax.hlines` is going to draw horizontal lines. This takes an `xmin` and an `xmax`.\n", "* `ax.plot` is going to draw circles (like a scatterplot)\n", "* `ax.set_xlim` to make the graph start at `0`\n", "\n", "Not so bad!" ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(0, 1.5)" ] }, "execution_count": 53, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaEAAAD8CAYAAADezxtfAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAFtpJREFUeJzt3X+U5XV93/HnawWBCRuILv5A3LnYGo8WCbpjYiwngjSKPypaaQJn0oi1mWjU9CQ1FWNraJJRE9NojBo6NP6+GtQaA1ZjLLqHprrKILi7YIgE964oir9QfuhmgXf/uN81w+7Mzuwyez8zw/Nxzhzu/Xw/935f38udfc33x7k3VYUkSS2sax1AknTfZQlJkpqxhCRJzVhCkqRmLCFJUjOWkCSpGUtIktSMJSRJasYSkiQ1c1jrACvdhg0bqtfrtY4hSavKlVde+a2qOm6xeZbQInq9HrOzs61jSNKqkmSwlHkejpMkNWMJSZKasYQkSc1YQpKkZiwhSVIzK7KEkrwtyc1Jtu81/oAkn0jype6/P7Gf53hjkq8mWZHbKGlt6ff79Ho91q1bR6/Xo9/vt460KqzUf6DfAZw5z/j5wGVV9Ujgsu7+PrrieS7wFeDJhyijJAHDApqammIwGFBVDAYDpqamLKIlyEr9eu8kPeAjVXXSnLHrgNOq6qYkDwU2V9Wj5nnsU4CXAxcD/7KqprpiugE4papu6eZ9CTi1qr6xUI7169fXpk2blnHLJK01W7ZsYdeuXfuMj4+Ps2PHjtEHWgGSXFlVE4vNW6l7Qgt5cFXd1N3+OvDgBeadC7wP+EvgmUkOr6q7gb9iuIdEkp8BBvMVUJKpJLNJZnfv3r3sGyFpbZmvgAB27tw54iSrz6r9xISqqiT77MYluT/wDOA3q+rWJJ8FngZ8hOGe0auBtwPndPfne+4ZYAZgYmKiNm/efEi2QdLa0Ov1GAz2/YCAjRs3Nkizuqy2PaFvdIfh6P578zxzngYcC2xLsgM4leGeEcBngH+e5DjgOcCHDnliSWve9PQ0Y2Nj9xgbGxtjenq6UaLVY7WV0CXA87vbz2d4eG1v5wL/oap6VdUDTgR+PslYDU+A/SXwx8AXq+rbI8gsaY2bnJxkZmaG8fFxkjA+Ps7MzAyTk5Oto614K/LChCTvA04DNgDfAH6nqv48yQOB9wMbgQHwC1X1nTmPGwNuBHpV9f054x8CLq6qi5NMAFcA51XVOxfLMjExUX6AqSQdmKVemLAizwlV1bkLjH8bOGM/j7sDeMA84/9mzu1ZIMsQU5J0L622w3GSpDXEEpIkNWMJSZKasYQkSc1YQpKkZiwhSVIzlpAkqRlLSJLUjCUkSWrGEpIkNWMJSZKasYQkSc1YQpKkZiwhSVIzlpAkqRlLSJLUjCUkSWrGEpIkNWMJSZKasYQkSc1YQpKkZiwhSVIzlpAkqRlLSJLUjCUkSWrGEpIkNWMJSZKasYQkSc1YQpKkZiwhSVIzlpAkqRlLSJLUjCUkSWrGEpIkNWMJSZKasYQkSc1YQpKkZiwhSVIzlpAkqRlLSJLUzCEpoSR3Jbl6zs/5B/k8pyX5yAHMX5fkTUm2J9mW5IokJ3bLfvtgMkiSDp1DtSf0g6o6Zc7P6w7Revb2i8DxwMlV9VjgucAt3bJ5SyhD7hFKOmj9fp9er8e6devo9Xr0+/3WkVaNkf7jm+TV3d7J9iQzSdKNPyHJ1m6v6fVJts/z2B9L8rYkn0tyVZKz5lnFQ4GbqupugKq6saq+m+R1wFHd8/eT9JJcl+RdwHbg4YdwsyWtYf1+n6mpKQaDAVXFYDBgamrKIlqiVNXyP2lyF7BtztBrq+riJA+oqu90c94NvL+qLu1K51eq6jNdYTyrqk5Kchrw8qp6VpLXANdW1XuSHAt8DnhcVd0+Z70nAH/LcO/nMuA9VXVVt+y2qjq6u90DbgCeVFVb9rct69evr02bNt37F0XSmrRlyxZ27dq1z/j4+Dg7duwYfaAVIsmVVTWx2LxRHY67uBs/Pclnk2wDngL8i65Q1lfVZ7o5713gOZ8KnJ/kamAzcCSwce6EqroReBTwSuBu4LIkZyzwfIOFCijJVJLZJLO7d+9e2hZLuk+ar4AAdu7cOeIkq9Nho1pRkiOBtwITVfWVJBcwLJIlPwXwvKq6bn+TqmoX8DHgY0m+ATyH4V7R3m6fZ2zPc8wAMwATExO1efPmA4gp6b6k1+sxGAz2Gd+4ceM8s7W3UZ4T2lM430pyNHA2QFXdAtya5Ge65ecs8PiPAy+bcx7pcXtPSPL4JMd3t9cBJwN73h27kxy+LFsiSZ3p6WnGxsbuMTY2Nsb09HSjRKvLoSqhPRcB7Pl5XVc2FzG8EODjwBVz5r8QuKg71PZjwPfmec7fAw4Htia5pru/twcBe84xbQXuBN7cLZvpHuvZQknLZnJykpmZGcbHx0nC+Pg4MzMzTE5Oto62KhySCxMOOERydFXd1t0+H3hoVf3HxrGA4eG42dnZ1jEkaVVZ6oUJIzsntIhnJnklwzwD4Ly2cSRJo7AiSqi7eu7iRSdKktYUPylAktSMJSRJasYSkiQ1YwlJkpqxhCRJzVhCkqRmLCFJUjOWkCSpGUtIktSMJSRJasYSkiQ1YwlJkpqxhCRJzVhCkqRmLCFJUjOWkCSpGUtIktSMJSRJasYSkiQ1YwlJkpqxhCRJzVhCkqRmLCFJUjOWkCSpGUtIktSMJSRJasYSkiQ1YwlJkpqxhCRJzVhCkqRmLCFJUjOWkCSpGUtIktSMJSRJasYSkiQ1YwlJkpqxhCRJzVhCkqRmlq2Ekjw4yXuT3JDkyiSfSfLc5Xr+vdbVS7J9nvF1Sd6UZHuSbUmuSHJit+y3D0UWSdLBW5YSShLgw8DlVfWIqtoEnAOcMM/cw5ZjnQv4ReB44OSqeizwXOCWbtm8JZQh9wglHZR+v0+v12PdunX0ej36/X7rSKvKcv3j+xTgH6vqwj0DVTWoqj8FSHJekkuSfBK4LMnRSS5L8vluj+Wsbl4vyReTXJTkmiR/k+SobtmmJF9I8gXgJQvkeChwU1Xd3WW4saq+m+R1wFFJrk7S79ZzXZJ3AduBhy/T6yDpPqTf7zM1NcVgMKCqGAwGTE1NWUQHIFV1758k+XXgxKr6jQWWnwf8PsM9lO90e0NjVfX9JBuALcAjgXHgemCiqq5O8n7gkqp6T5KtwEur6vIkrweeXlUn7bWeE4C/Zbj3cxnwnqq6qlt2W1Ud3d3uATcAT6qqLfvbtvXr19emTZsO4lWRtNZt2bKFXbt27TM+Pj7Ojh07Rh9oBUlyZVVNLDbvkByGSvKWbq/lijnDn6iq7+yZArymK5b/AzwMeHC37MtVdXV3+0qgl+RY4Niqurwbf/d8662qG4FHAa8E7ma413XGAjEHCxVQkqkks0lmd+/evfgGS7pPmq+AAHbu3DniJKvXcp2fuQZ43p47VfWSbg9nds6c2+fcngSOAzZV1e4kO4Aju2Vz/6/eBRx1IEGqahfwMeBjSb4BPIfhXtHebp9nbM9zzAAzABMTE7V58+YDiSDpPqLX6zEYDPYZ37hxY4M0q9Ny7Ql9EjgyyYvnjI3tZ/4xwM1dAZ3O8DDcgqrqFuCWJKd2Q5PzzUvy+CTHd7fXAScDe94hu5McvvimSNLSTE9PMzZ2z3/qxsbGmJ6ebpRo9VmWEqrhiaXnAE9O8uUknwPeCbxigYf0gYkk24BfBv5uCat5AfCWJFczPJw3nwcBl3aXb28F7gTe3C2bAbYm8YyhpGUxOTnJzMwM4+PjJGF8fJyZmRkmJ+f9O1nzWJYLE9ayiYmJmp2dXXyiJOlHml6YIEnSUlhCkqRmLCFJUjOWkCSpGUtIktSMJSRJasYSkiQ1YwlJkpqxhCRJzVhCkqRmLCFJUjOWkCSpGUtIktSMJSRJasYSkiQ1YwlJkpqxhCRJzVhCkqRmLCFJUjOWkCSpGUtIktSMJSRJasYSkiQ1YwlJkpqxhCRJzVhCkqRmLCFJUjOWkCSpGUtIktSMJSRJasYSkiQ1YwlJkpqxhCRJzVhCkqRmLCFJUjOWkCSpGUtIktSMJSRJasYSkiQ1YwlJkpqxhCRJzSxaQknuSnL1nJ/zD3QlSU5L8qQlzHtgkk8luS3Jm/dadm6SbUm2JvnrJBvmefyjkmzucn4xyUw3fkqSZxxobkkC6Pf79Ho91q1bR6/Xo9/vt460Zhy2hDk/qKpT7uV6TgNuAz69yLwfAv8VOKn7ASDJYcCfAI+pqm8l+UPgpcAFez3+TcAbquqvusc9ths/BZgAPrr3CpMcVlV3HuD2SLqP6Pf7TE1NcccddwAwGAyYmpoCYHJysmW0NSFVtf8JyW1VdfQ8468G/jVwFMNy+dWqqiS/DrwIuBO4Fjgf2ALcBXwTeFlV/d9F1nkeMFFVL+3uHw58jWGR7AT+DPh8Vc3s9bitwAuq6so5Y/cHru9yfhV4LfBo4J8BjwB2VtW5C2VZv359bdq0aX9xJa1hW7ZsYdeuXfuMj4+Ps2PHjtEHWiWSXFlVE4vNW8qe0FFJrp5z/7VVdTHw5qr63W5l7waeBVzKsHROrKpdSY6tqluSXAjcVlV/dOCbAlW1O8mLgW3A7cCXgJfMM/UNwCeTfBr4G+Dt3fpfzT1L7QLgMcCpVfWDvZ8kyRQwBXDEEUccTGRJa8R8BQSwc+fOESdZm+7N4bjTk/xnYAx4AHANwxLaCvSTfBj48HKE7PaEXgw8DrgB+FPglcDvz51XVW9P8nHgTOAs4FeT/NQCT3vJfAXUPc8MMAMwMTFRmzdvXo7NkLQK9Xo9BoPBPuMbN25skGbtOair45IcCbwVOLuqHgtcBBzZLX4m8Bbg8cAV3fmce+sUgKr6hxoeP3w/MO+FDlX1tap6W1WdxfCQ4EnzzWO4RyVJ+zU9Pc3Y2Ng9xsbGxpienm6UaG052Eu09xTOt5IcDZwNkGQd8PCq+hTwCuAY4GjgVmD9vcj5VeAxSY7r7v888MW9JyU5s9trIslDgAd2j72365d0HzU5OcnMzAzj4+MkYXx8nJmZGS9KWCYHc07or6vq/CQXAduBrwNXdMvuB7wnyTFAgDd152QuBT6Y5CwWuTAhyQ7gx4H7J3kO8NSqujbJfwMuT7IbGADnzfPwpwJ/kuSH3f3fqqqvJ/kUcH63Ha9dwjZL0o9MTk5aOofIolfH3ddNTEzU7Oxs6xiStKos9eo4PzFBktSMJSRJasYSkiQ1YwlJkpqxhCRJzVhCkqRmLCFJUjOWkCSpGUtIktSMJSRJasYSkiQ1YwlJkpqxhCRJzVhCkqRmLCFJUjOWkCSpGUtIktSMJSRJasYSkiQ1YwlJkpqxhCRJzVhCkqRmLCFJUjOWkCSpGUtIktSMJSRJasYSkiQ1YwlJkpqxhCRJzVhCkqRmLCFJUjOWkCSpGUtIktSMJSRJasYSkiQ1YwlJkpqxhCRJzVhCkqRmLCFJUjOWkCSpmZGXUJLbDuFz//sk25JsTbI9yVnd+HlJjj9U65UkHZw1syeU5ATgVcCpVXUy8ERga7f4PGDeEkpyv5EElLRq9ft9er0e69ato9fr0e/3W0daM5qUUJKjk1yW5PPdnsuePZbXJXnJnHkXJHn5QvP38iDgVuA2gKq6raq+nORsYALoJ7k6yVFJdiT5gySfB/7tod9iSatVv99namqKwWBAVTEYDJiamrKIlkmqarQrHB6OOxYYq6rvJ9kAbAEeCZwCvLGqntzNvRZ4GnDTfPNrTvhuj+ajwKOBy4APVdWl3bLNwMurara7vwN4a1X94WJ5169fX5s2bVqWbZe0+mzZsoVdu3btMz4+Ps6OHTtGH2iVSHJlVU0sNu+wUYSZR4DXJPk54G7gYcCDq+qqJA/qzt8cB3y3qr6S5PD55gNf3/OEVXVXkjOBJwBnAG9IsqmqLlggw8ULhkumgCmAI4444l5uqqTVbL4CAti5c+eIk6xNrUpokmHJbKqq3d2eyZHdsg8AZwMP4Z+KYn/zf6TbM/oc8LkknwDeDlywQIbbFwpXVTPADMDExERt3rz5ADZN0lrS6/UYDAb7jG/cuLFBmrWn1YUJxwA3d4VyOjA+Z9nFwDkMi+gDS5gPQJLjkzx+ztApwJ53zq3A+mXeBkn3AdPT04yNjd1jbGxsjOnp6UaJ1paR7gklOQzYBfSBS5NsA2aBv9szp6quSbIe+GpV3dQNLzh/jsOBP+oO5f0Q+Cbwom7ZO4ALk/wA+Nll3zBJa9bk5CQAr3rVq9i5cycbN25kenr6R+O6d0Z6YUKSnwIuqqqfHtlK76WJiYmanZ1tHUOSVpWlXpgwssNxSV4EvA/4L6NapyRpZRvZ4biquhC4cFTrkyStfGvmExMkSauPJSRJasYSkiQ1M/KP7VltktwKXNc6xwHaAHyrdYgDsNrygplHYbXlhdWX+VDmHa+q4xab1OoTE1aT65ZymeFKkmR2NWVebXnBzKOw2vLC6su8EvJ6OE6S1IwlJElqxhJa3EzrAAdhtWVebXnBzKOw2vLC6svcPK8XJkiSmnFPSJLUjCXUSXJmkuuSXJ/k/HmWH5Hk4m75Z5P0Rp/yHnkWy/ubSa5NsrX7avR9vv5i1BbLPGfe85JUkuZXGS0lc5Jf6F7ra5K8d9QZ98qy2PtiY5JPJbmqe288o0XOOXneluTmJNsXWJ4kb+q2Z+teX9fSxBIyT3ZZtyX5dPfBzU0tlnnOvCckuTPJ2aPKRlXd53+A+wH/ADwCuD/wBeAxe835NeDC7vY5wMUrPO/pDL8SHeDFLfMuNXM3bz1wOcOvcJ9Y6ZkZfi39VcBPdPcftMLzzgAv7m4/BtjR+DX+OeDxwPYFlj8D+BjDb2N+IvDZlnmXmPlJc94PT18Nmee8fz4JfBQ4e1TZ3BMa+mng+qq6oar+EfgL4Ky95pwFvLO7/UHgjCQZYca5Fs1bVZ+qqju6u1uAE0accW9LeY0Bfg/4A4bfCdXaUjL/CvCWqvouQFXdPOKMcy0lbwE/3t0+BvjaCPPto6ouB76znylnAe+qoS3AsUkeOpp081ssc1V9es/7gZXxu7eU1xngZcD/Akb6HraEhh4GfGXO/Ru7sXnnVNWdwPeAB44k3b6WkneuFzL8a7KlRTN3h1oeXlX/e5TB9mMpr/NPAj+Z5P8l2ZLkzJGl29dS8l4A/FKSGxn+xfuy0UQ7aAf6Xl9pVsLv3qKSPAx4LvBno163n5iwxiX5JWACeHLrLPuTZB3wx8B5jaMcqMMYHpI7jeFfvJcneWxV3dI01cLOBd5RVf89yc8C705yUlXd3TrYWpPkdIYldGrrLEvwRuAVVXX3qA/wWEJDXwUePuf+Cd3YfHNu7L6m/Bjg26OJt4+l5CXJvwJeBTy5qnaNKNtCFsu8HjgJ2Nz9EjwEuCTJs6uq1VfbLuV1vpHhMf/dwJeT/D3DUrpiNBHvYSl5XwicCVBVn0lyJMPPD2t5GHF/lvReX2mSnAz8T+DpVdXq34kDMQH8Rfe7twF4RpI7q+rDh3rFHo4bugJ4ZJITk9yf4YUHl+w15xLg+d3ts4FPVnc2r4FF8yZ5HPA/gGc3Pk+xx34zV9X3qmpDVfWqqsfwWHrLAoKlvS8+zHAviCQbGB6eu2GUIedYSt6dwBkASR4NHAl8c6QpD8wlwC93V8k9EfheVd3UOtT+JNkIfAj4d1X1963zLEVVnTjnd++DwK+NooDAPSFgeI4nyUuBjzO8QuRtVXVNkt8FZqvqEuDPGR66uJ7hCb5zVnje1wNHAx/o/rrZWVXPXuGZV5QlZv448NQk1wJ3Ab/V6i/fJeb9T8BFSX6D4UUK5zX8Y4ok72NY4hu681S/AxwOP/o25o8yvELueuAO4AVtkv6TJWR+NcPzxW/tfvfurMYfErqEzM34iQmSpGY8HCdJasYSkiQ1YwlJkpqxhCRJzVhCkqRmLCFJUjOWkCSpGUtIktTM/we0CVN7jcwMEwAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots()\n", "\n", "ax.hlines(df.street, xmin=0, xmax=df.dur_per_day)\n", "ax.plot(df.dur_per_day, df.street, \"o\", color='black')\n", "ax.set_xlim(0, 1.5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Building a verticla lollipop graph with a categorical x axis\n", "\n", "It's basically the same as before, but all of the horizontal lines become vertical, and our axes are switched on our scatterplot. We're going to use `plot.subplots()` to make an empty graph, then...\n", "\n", "* `ax.vlines` is going to draw vertical lines. This takes a `ymin` and a `ymax`.\n", "* `ax.plot` is going to draw circles (like a scatterplot)\n", "* `ax.set_ylim` to make the graph start at `0`\n", "\n", "Just as easy!" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(0, 1.5)" ] }, "execution_count": 54, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots()\n", "\n", "ax.vlines(df.street, ymin=0, ymax=df.dur_per_day)\n", "ax.plot(df.street, df.dur_per_day, \"o\", color='black')\n", "ax.set_ylim(0, 1.5)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.5" } }, "nbformat": 4, "nbformat_minor": 2 }