{ "cells": [ { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "1D Data Analysis, Histograms, Boxplots, and Violin Plots\n", "===\n", "\n", "## Unit 7, Lecture 2\n", "\n", "*Numerical Methods and Statistics*\n", "\n", "----\n", "\n", "#### Prof. Andrew White, 2/27/2020" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Goals\n", "\n", "1. Be able to histogram 1D data\n", "2. Understand the difference between 1D and categorical 1D data\n", "3. Know how to make violin plots" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "%matplotlib inline\n", "import random\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from math import sqrt, pi\n", "import scipy\n", "import scipy.stats\n", "\n", "plt.style.use('seaborn-whitegrid')" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Requirement already satisfied: pydataset in /home/whitead/.local/lib/python3.7/site-packages (0.2.0)\r\n", "Requirement already satisfied: pandas in /home/whitead/miniconda3/lib/python3.7/site-packages (from pydataset) (0.24.2)\r\n", "Requirement already satisfied: pytz>=2011k in /home/whitead/miniconda3/lib/python3.7/site-packages (from pandas->pydataset) (2019.1)\r\n", "Requirement already satisfied: numpy>=1.12.0 in /home/whitead/miniconda3/lib/python3.7/site-packages (from pandas->pydataset) (1.16.3)\r\n", "Requirement already satisfied: python-dateutil>=2.5.0 in /home/whitead/miniconda3/lib/python3.7/site-packages (from pandas->pydataset) (2.8.0)\r\n", "Requirement already satisfied: six>=1.5 in /home/whitead/miniconda3/lib/python3.7/site-packages (from python-dateutil>=2.5.0->pandas->pydataset) (1.12.0)\r\n" ] } ], "source": [ "!pip install --user pydataset" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Getting Data from PyDatasets\n", "===\n", "\n", "One way to get data is using the `pydatasets` package. You can find the list of datasets [here](http://vincentarelbundock.github.io/Rdatasets/datasets.html) and you can use one like so:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "scrolled": true, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "initiated datasets repo at: /home/whitead/.pydataset/\n" ] }, { "data": { "text/plain": [ "(71, 2)" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pydataset\n", "\n", "data = pydataset.data('chickwts').values\n", "data.shape" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "We have loaded a dataset with 71 data points and each data point has 2 pieces of information. Let's see one" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[179 'horsebean']\n" ] } ], "source": [ "print(data[0, :])" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "The first slice index says grab row `0` and the second slice says grab all columns. Each data point contains the mass of a chicken and the type of food it was fed." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Analzying 1D Data\n", "====\n", "\n", "Let's see an example with data from Lake Huron. Our first tool to understand 1D numerical data is to look at sample mean and sample standard deviation. " ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(98, 2)\n", "[1875. 580.38]\n" ] } ], "source": [ "#load data\n", "huron = pydataset.data('LakeHuron').values\n", "\n", "#see the dimensions of the data\n", "print(huron.shape)\n", "\n", "#look at the first row\n", "print(huron[0,:])" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "This data has 98 rows and 2 columns. The columns contain the year and the depth of Lake Huron in feet. We cannot simply take the mean of all the data because that would be the mean of all years *and* depths. Instead, we can slice out only one of the columns" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "579.0040816326531\n" ] } ], "source": [ "huron_mean = np.mean(huron[:, 1])\n", "print(huron_mean)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "We now will follow significant figures convention in our calculations. Each data point in the dataset has 5 digits of precision, so our mean should as well. Thus we will print like so:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The mean is 579.0 ft\n" ] } ], "source": [ "huron_mean = np.mean(huron[:, 1])\n", "print('The mean is {:.5} ft'.format(huron_mean))" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "We can similarily calculate the sample standard deviation:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The sample standard deviation is 1.3183 ft\n" ] } ], "source": [ "huron_std = np.std(huron[:, 1], ddof=1)\n", "print('The sample standard deviation is {:.5} ft'.format(huron_std))" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "We had to specify manually that we want to have the $N - 1$ term in the denominator. `numpy` uses a convention where you can specify what is subtracted from $N$ in the denominator through the `ddof` argument, which stands for deducted degrees of freedom. Thus `ddof = 1` means we want to have $N - 1$ in the denominator instead of the default $N$ in the denominator. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Histogramming\n", "====\n", "Histogramming is the process of sorting data into bins and counting how much data is in each bin. Let's see a basic example.\n" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "There were 2 samples between 0 and 10\n", "There were 4 samples between 10 and 20\n" ] } ], "source": [ "#create some data\n", "x = [1, 2, 13, 15, 11, 12]\n", "#compute histogram\n", "counts, bin_edges = np.histogram(x, bins=[0, 10, 20])\n", "for i in range(len(counts)):\n", " print('There were {} samples between {} and {}'.format(counts[i], bin_edges[i], bin_edges[i + 1]))" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "We made two bins, one from 0 to 10 and another from 10 to 20. Those were specified with the `bins = [0, 10, 20]` command. We then were given the counts of data within those bins. We can plot using our output from `np.histogram`, or we can do both the histogram and plot using `plt.hist`." ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.hist(x, bins=[0, 10, 20])\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "There are a few problems we can see. The first is that the x-axis has ticks in weird locations. The second problem is that the bars are right on top of one another, so it's hard to tell what's going on. Let's adjust the options to fix this." ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/whitead/miniconda3/lib/python3.7/site-packages/matplotlib/axes/_axes.py:6521: MatplotlibDeprecationWarning: \n", "The 'normed' kwarg was deprecated in Matplotlib 2.1 and will be removed in 3.1. Use 'density' instead.\n", " alternative=\"'density'\", removal=\"3.1\")\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "#rwidth controls how close bars are\n", "plt.hist(x, bins=[0, 10, 20], rwidth = 0.99, normed=False)\n", "#set exactly where the ticks should be\n", "plt.xticks([0, 10, 20])\n", "plt.yticks([2, 4])\n", "plt.xlim(0, 20)\n", "plt.ylim(0, 5)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Now let's take a look at the Lake Huron level. " ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.hist(huron)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "What went wrong?" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.hist(huron[:, 1])\n", "plt.xlabel('Lake Huron Level in Feet')\n", "plt.ylabel('Number of Times Observed')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "The ticks aren't great and I personally don't like the bars touching. Let's work a little on improving the plot." ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "scrolled": true, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.style.use('seaborn')\n", "plt.hist(huron[:, 1], rwidth=0.9)\n", "plt.xlabel('Lake Huron Level in Feet')\n", "plt.ylabel('Number of Times Observed')\n", "plt.yticks([0, 5, 10, 15, 20])\n", "plt.ylim(0,20)\n", "plt.axvline(x=np.mean(huron[:,1]),color='red', label='mean')\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "We can see a lot from this figure. We can see the lowest and highest depths. This representation may remind you of how probability distributions look and indeed, this representation is how you can reconstruct probability mass functions. To see this, let's look at another example." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "We'll look at a larger dataset that is speed of cars." ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "8437\n" ] } ], "source": [ "car_speed = pydataset.data('amis').values\n", "speeds = car_speed[:, 0]\n", "print(len(speeds))" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/whitead/miniconda3/lib/python3.7/site-packages/matplotlib/axes/_axes.py:6521: MatplotlibDeprecationWarning: \n", "The 'normed' kwarg was deprecated in Matplotlib 2.1 and will be removed in 3.1. Use 'density' instead.\n", " alternative=\"'density'\", removal=\"3.1\")\n" ] }, { "data": { "image/png": "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FUaMGKEdO3bo9OnTqq6u5ri3EO9+v4CCggLl5eWpf//+/nVLlizRggULdOLECfXq1UtPPPGEOnfu3I5Vdhz19fV65JFH9OWXX6q+vl6zZs3SwIED9fDDD9PPVsrLy1Pv3r01YsQI+tkKXq9X8+bN09dff61Tp05p1qxZGjBgAD1tpbVr12rdunWSpPvvv1+DBg2ipxYg1AEAMATT7wAAGIJQBwDAEIQ6AACGINQBADAEoQ4AgCEIdaAD+u9//6s77rhDU6ZM0fjx4zVnzhx9/fXXlu4zKSlJFRUVZ617//339dxzz1m6328VFhZq3rx5bbIvoKPijnJAB3Py5Ek99NBDeuutt/x34XryySe1bt06TZs2rU1rSUpKUlJSUpvuE8D5EepAB3PixAnV1taqrq7Ov27+/Pn+v48aNUrjxo3T3r17VV1draysLA0bNkxffPGFHn/8cdXV1am2tlYPPvigrr/+etXU1Cg7O1vHjh2T1+vVH//4R/3ud7+Tx+PRnDlz1NjYqPj4+HPen7uwsFDFxcVavny5Ro0apalTp+r9999XRUWFHn/8cQ0fPvysx0+ZMkW//OUvtW/fPn322WfKysrS+vXrdfDgQd1yyy26//77lZeXp/LyclVXV8vtdmvYsGH+L6z59sYwZWVl6tWrl1atWiWbzWZRp4GOh1AHOpjw8HA98MADuuWWW3TNNdfo17/+tcaMGaOf//zn/sf06NFDL7/8slwul5YuXao333xTOTk5mjZtmoYNGya326309HRt3LhRTz/9tG644Qb94Q9/UG1trX7/+98rMTFRr7zyiq655hrNnz9fJSUlevXVVy9Y209+8hOtWbNGb775pl555ZUfhbp05ss78vPzlZeXp+XLl+vf//63qqqq/KEuSZ9++qn+9a9/6fTp07rpppt0yy23SDrz7WlvvfWWunTpojFjxqikpEQDBw4MUmeBjo9QBzqge++9V7fffru2b9+unTt3asKECXrwwQc1adIkSWfutS1JCQkJKi0tlXTmO8G/+eYbrV69WpJkt9t19OhR7dy5U/v379f69ev96ysqKnTw4EFNmDBBkhQfH6/w8PAL1jV06FBJUq9evVRTU3POxyQkJEiSevbsqfj4eIWGhqpnz546fvy4/zHDhg2T3X7mx9PAgQNVVlYmSRo0aJC6du0q6cwXr3x/GwCEOtAh1dXVKTIyUuPGjdO4ceP029/+VkuWLPGH+unTpyWdOSv+dno6NDRUeXl5ioqKOuu5QkNDlZ2drUGDBp213ufzqVOn795L+/2vHz2fb4P42+0v9Jjv//37vq3/h68hJCTkRzUC+A7vfgc6mG3btik9PV1er9e/rry8XD/72c/8yzt27JAkffTRR7rqqqskSdddd53eeecdSdKxY8e0aNGiH62vr69XTk6OGhoaFBcXpz179kiS9u7dq9raWutf3P/34YcfqrGxUSdPntT+/fv9rwFA0zhTBzqYG264QZ999pnuuusude3aVT6fT9HR0XorK8dsAAAAxElEQVTsscf8j6msrNS9996rI0eOKDs7W5L0yCOP6LHHHtN//vMfnTx50n/9etasWVqwYIEmTpyokydPKj09XXa7XXfeeadmz56tqVOn6oorrlDfvn3b7DX27dtXs2fPVkVFhW666SbFxcVp7969bbZ/oKPiW9oAw4waNUp/+9vfzjpz70jy8vLU0NCgv/zlL+1dCtDhMP0OAIAhOFMHAMAQnKkDAGAIQh0AAEMQ6gAAGIJQBwDAEIQ6AACGINQBADDE/wM/pFEaQDokFwAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#now we'll use normed\n", "plt.hist(speeds, normed=True)\n", "plt.xlabel('Speed in mph')\n", "plt.ylabel('Proportion')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Now the y-axis shows the proportion of times that a particular speed was observed. Thanks to the Law of Large Numbers, and the fact we have 8,500 samples, we know that these proportions will approach the probabilities of these intervals. For example, the probability of observing a speed between 25 and 30 mph is $\\approx 0.012$. If we make our bins small enough, we'll eventually be able to assign a probability to any value and thus we'll have recreated the probability mass function!" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Kernel Density Estimation\n", "====\n", "\n", "Kernel density estimation is a more sophisticated method for estimating the probability mass function from a histogram. It can help you see what *type* of distribution your data might follow (e.g., normal, exponential). Let's see an example." ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/whitead/miniconda3/lib/python3.7/site-packages/matplotlib/axes/_axes.py:6521: MatplotlibDeprecationWarning: \n", "The 'normed' kwarg was deprecated in Matplotlib 2.1 and will be removed in 3.1. Use 'density' instead.\n", " alternative=\"'density'\", removal=\"3.1\")\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import seaborn as sns\n", "\n", "sns.distplot(speeds, bins=range(15, 65))\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "The new solid line shows us that a normal distribution would be a good fit, although the right tail is a little long. This line is generated by estimating what the histogram would look like if the bins were infinitely small." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Categorical Data Boxplots\n", "====\n", "\n", "Sometimes we'll have measured some quantity, like mass of a chicken, under multiple conditions. This is not exactly 2D, because the conditions are usually categorical data. For example, my conditions are the kind of food I've fed to my chickens. We can analyze this using a boxplot, which shows the category and quartiles in one plot." ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['casein' 'horsebean' 'linseed' 'meatmeal' 'soybean' 'sunflower']\n" ] } ], "source": [ "data = pydataset.data('chickwts').values\n", "categories = np.unique(data[:,1])\n", "print(categories)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "This first step is a way to find all the unique labels to find our possible categories. Now we'll use that to separate our data into a list of arrays, one for each catgory, instead of one large array." ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "data_as_arrays = []\n", "#loop over categories\n", "for c in categories:\n", " #get a True/False array showing which rows had which category\n", " rows_with_category = data[:,1] == c\n", " #now slice out the rows with the category and grab column 0 (the chicken mass)\n", " data_slice = data[rows_with_category, 0]\n", " #now we need to make the data into floats, because it happened to be loaded as a string\n", " data_as_arrays.append(data_slice.astype(float))" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Whew! That was a lot of work. We used a few tricks. One was that you can slice using True and False values in numpy. Let's see a smaller example:" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "array([ 4, 20])" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x = np.array([4, 10, 20])\n", "my_slice = [True, False, True]\n", "x[my_slice]" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "The other thing we did is convert the array into floating point numbers. Recall that in `numpy` each array can only be one data type. The original chicken dataset had strings in it, like 'linseed', so that the whole array was strings. We thus had to convert to floats to do calculations on the chicken weights. We used the `astype()` method on the array. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "So we found which rows had their second column (the category column) be equal to category `c` and then slice out those rows. Now we can make the boxplot." ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#NOTICE WE USE Seaborn not PLT\n", "sns.boxplot(data=data_as_arrays)\n", "#Need to replace the ticks (0, through N - 1) with the names of categories\n", "plt.xticks(range(len(categories)), categories)\n", "plt.xlabel('Feed')\n", "plt.ylabel('Chicken Mass in Grams')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "The box plot shows a quite a bit of information. It should the median in as a horizontal line over the box. The box itself shows the middle two quartiles and the \"whiskers\" show the bottom 10th and upper 90th percentiles of the data. The points outside of the boxs are outliers. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Violin Plots\n", "====\n", "\n", "Just like how we saw that you can use kernel density estimation to provide richer information, we can apply this to boxplots as well." ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "scrolled": false, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "image/png": "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z8cPf/hDJCQk4JZbbgneSSCUHmzevJn8/ve/J4QQsm3bNvLyyy+THTt2EEII+fLLL8mqVasIIYTMmDGD8DxPJEkir732GiGEkMsvv5y0trYSQgh57LHHyDvvvEN27dpFVq9eTQghpLCwkHz33XeEEEKuuuoq8u2334b02IbCrl27yI9+9CPidDqJ3W4nM2bMIGVlZWT//v2EEEL++te/kj/96U9k165dZPbs2cTj8ZDW1lZy0UUXEUII4TiObNq0idjtdrJo0SLi8XgIIYTcdtttZM+ePeTNN98kCxcuJBzHkZaWFnLhhRcSSZL6PIdNTU1k69athBBCKioqyBVXXEEIIeTaa68lGzduJIQQ8sQTT5CXXnoplKdoULz55ptk9erVfpvnzJlDPvroI0IIIWvWrCE7duwgGzZsIOvWrSOEEHL48GGyb98+8tZbb5Enn3ySEEJIc3MzWbhwISGEkOuuu46cPn2aEELIq6++Sp599lly/PhxcsUVVxBRFElNTQ2ZMGECqaysDPGRDo4333yTXHPNNUSSJLJp0yaycOFCIggC2bx5M1m5ciW59tpriSRJRJIksnTpUlJdXU0OHDhAdu7cSQgh5I033iCPPPIIIcR7Lu12O6msrCSTJk0iLS0t5PTp02TChAmkrq6OlJeXk8suu4wQ0vd381zX1dGjR0N9avql9/XxzDPPkN/85jeEEELq6urI/PnziSAIZP78+cTtdhNRFMlPfvIT4vF4yJw5c8i2bdsIIYQ8+uijZOPGjf1eW++99x6pqKgghBBy5513ko8++uis+8D06dNDffgD0vv8rF+/njz66KOEEELsdjuZM2cOIaTv715lZaX/7/7000+TV155hXz11VfkpptuIoQQ4nA4yEUXXUQ6OjrIkiVLCCGE/Pa3vyXXXXcd6ejoIO+//z555plnyLp168jmzZsJIYQcP36c/Nd//Zd/n59++mnQzwH1yHtx5MgRzJw5EwDw05/+FJ2dnXjwwQfx4osvguM4mEwmAMDFF1+M66+/HgsXLsRll12GpqYmlJeXY/Xq1QAAp9OJuLg4JCcn+7dtNptRVFQEAEhJSUFnZ2eIj25ojB8/HkajEQBACMHJkydRWloKAJgxYwbWrVuHGTNmoLCwEHq9Hnq9Hjk5ObjllluwYMECLFq0CN999x1qampw4403AgA6OztRU1MDAJg8eTJ0Oh3i4uJgNpvR3Nzc5zmMiYnBoUOHsGnTJrAsi7a2Nr+NU6dOBeA9n91fVzLdbe7s7MT555+PVatWobOzExdffDHOO+88vPXWW/jmm2+wd+9eAIDH4wHHcTh48CDuu+8+AADHcSgpKcGJEydQWloKlmWRmpqKzMzMsB3bYCguLgbDMEhKSkJhYSE0Gg0SExNx9OhRCIKA6667DoA3IlRdXY2MjAw8/PDDeOaZZ9DR0YEJEyactc2srCzExcVBr9cjPj4eycnJcDgc6Ozs7Pe7ea7rSkn0vj7a2towY8YMAEBycjL0ej06Ozsxe/ZsfPrpp0hKSsLUqVOh1+sBwP/ekpIS7NmzB6Io9nltxcfHY+3atRBFEZWVlfjBD36A6OjoHvcBJdL7/CQmJqK1tbXP9/b+7vXF4cOHMW3aNACAyWTCmDFjUFFRAb1eD5fLhZqaGsybNw8HDhzA3r17MW/ePKxfvx4tLS149913AQAul8u/vYkTJwbycPuECnkvNBoNJEny//y3v/0NycnJeOKJJ3Do0CE8/vjjAIAHHngAJ0+exPvvv4+ysjK8+OKLsNlseOWVV3psb/fu3T223R2i8Db3Wm3/lwfP8/5lAfmGAQB//etfceTIEWzbtg3vvPMOfvWrX6G4uBgvvvhij89v3boVDMP0eE2j0fR5Dt966y20t7fj9ddfR1tbG5YsWdLjMzJKP58yvW0uKCjAO++8gy+++AJPPvkkFi9eDJ1Oh5UrV2LhwoU9Pms0GrFx48Ye5+7999/vsUTT/fpVIt2vq+7/bm9vx09/+tOz8gnuvvtuXHDBBVi2bBn+9a9/4d///vdZ2+x+TntftzqdbsjXlZLofX1UV1fjvPPO8/+e4ziwLItFixbhhRdeQHp6eo/rpvu1wjBMv9fWPffcg+effx75+fk9/gbnug8ogd7n58orr/T/ThCEHu8dzP2i931JvtdNmTIFO3fuRHR0NEpLS/Hpp5/i22+/xa9+9SvodDrcd999Pf4uMjqdbiSHNyiUu0AbJkpKSrBr1y4AwCeffIK//OUvyMrKAgB8+OGH4HkenZ2dWLduHfLz87Fq1SpYrVb/jfTEiRMAgFdeeQXff/99eA4iSIwdOxb79u0DAHz99dcoLi7u8fuqqips3LgREyZMwF133YW2tjbk5ubi5MmTaG5uBgA8/fTTqK+vBwDs378foiiipaUFLpcLsbGxAM4+h62trcjIyADLstixY0dQMpXDyT//+U8cP34cc+fOxe23347Dhw+jtLQUH330EQCgubkZTz75JACgqKgI//nPf/yf27lzJ3Jzc3HkyBEQQlBdXY3q6uqwHctImDBhAnbv3g2XywVCCB5++GG43W60trYiKysLhBB89NFH/hwAhmEgiuKA27VarQDUe131vj4YhvE7CLW1tWBZFjExMRg3bhzq6+tx8OBBv0cJAHv27AEAHDhwAHl5ef1eW3a7Hampqejo6MDu3bsVnWvRnd7nZ8OGDWhoaAAAfPPNN0PeXnFxsf/8OhwOVFRUIDs7G9OmTcPGjRsxceJEFBUV4cCBAzAYDNDr9SgtLcWHH34IwHudvfTSS4E7wEGg7EetMHDJJZfgyy+/xLXXXgutVouXXnoJ999/P/71r39hxYoV2LZtG7Zv347W1lYsWbIEJpMJ5513HmJjY/G73/0Od999t98DWLp0qV/4IoG1a9figQceAMMwsFqteOSRR3DkyBH/7202G/bt24f33nsPOp0OixcvhtFoxD333IObb74Zer0e48ePh81mAwDk5eXh9ttvR3l5OdasWQOGYfo8h2azGbfccgv279+PxYsXIyUlBevWrQvXaQg4OTk5uP/++2EymaDRaLB27VpkZ2dj165duOaaayCKoj/B6N5778V9992HF154AVFRUfi///s/xMbGoqCgAEuXLkVOTo5/+UZtpKWl4eKLL8aKFSug0Wgwd+5cGAwGLF26FA899BDS09NRVlaG++67D59//jmmT5+O5cuX45FHHhlw22q+rnpfH88++yw2btyIsrIy8Dzfw3s+//zz4XA4eniVx48fx9///ncAwOrVq2EwGPq8tpYvX45ly5YhJycHN910E5555hn8z//8T2gPdhj0Pj9PPPEE7rnnHpSVleFHP/rRWR72QEydOhXFxcVYsWIFBEHAHXfcAZPJhMmTJ+OWW27BmjVroNPp4HQ6cf755wMArr32Wtx9991Yvnw5JEnCvffeG4xD7Rc6xpRCoVAiAEIIrr/+ejzwwAPIzs4OtzmUEEJD6xQKhaJyqqqqsHjxYsyaNYuK+CiEeuQUCoVCoagY6pFTKBQKhaJiqJBTKBQKhaJiqJBTKBQKhaJiaPkZhTLKqaqqwoIFC85qZnHPPfdg3Lhxw97usmXLsGbNGn9nMQqFEhyokFMoFMTHx5/V+YxCoagDKuQUCqVP2tvbcf/996OlpQV2ux3XX389Lr30UnAchwcffBDl5eVwOBxYuHAhbrjhBrhcLvzyl79Ea2srsrOz4fF4wn0IFMqogAo5hULpk6eeegoXXnghFi9eDKfTicsvvxznn38+tm7dCpvNhocffhiiKOLqq6/GrFmz/C0rN23ahIaGBlx00UXhPgQKZVRAhZxCoaClpQVlZWU9XmtqasKhQ4fw9ttvA/AOz6iqqsLu3btRV1eHr7/+GoB3aEdFRQWOHTuGKVOmAPC2683LywvtQVAooxQq5BQKpc818kWLFuH+++9HSUlJj9f1ej1uvfVWLFiwoMfru3btUtUUNgolUqDlZxQKpU+mTJmC999/HwDgdrvx29/+FoIg9HhdkiQ88sgjaGtrQ35+vn9IUG1tLU6fPh022ymU0QQVcgqF0ierVq1CeXk5li1bhhUrVmD8+PHQarVYsWIFTCYTli5diquvvhoWiwWxsbG4/PLL0draiuXLl+OPf/zjWZ48hUIJDrTXOoVCoVAoKoZ65BQKhUKhqBgq5BQKhUKhqBgq5BQKhUKhqBgq5BQKhUKhqBgq5BQKhUKhqBgq5BQKhUKhqBgq5BQKhUKhqBgq5BQKhUKhqJj/D9+ZwcSNfwE0AAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.violinplot(data=data_as_arrays)\n", "#Need to replace the ticks (0, through N - 1) with the names of categories\n", "plt.xticks(range(len(categories)), categories)\n", "plt.xlabel('Feed')\n", "plt.ylabel('Chicken Mass in Grams')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "In this plot, you can see the original boxes inside the \"violins\". The violins show the same thing we saw above with Kernel Density Estimation and shows how spread the data is." ] } ], "metadata": { "celltoolbar": "Slideshow", "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.7.3" } }, "nbformat": 4, "nbformat_minor": 1 }