{ "cells": [ { "cell_type": "markdown", "id": "8501b536", "metadata": {}, "source": [ "# Histogram\n", "\n", "If we want to see the shape of a data distribution, the histgram can be a good choice\n", "\n", "In this section we will see how to plot a histogram using Python and what choices we can make to show the data distribution clearly and accurately\n", "\n", "We will also consider some of the limitations of the histogram for small datasets. In the next section we meet a related plot, the Kernel Density Estimate plot, which can mitigate these limitations." ] }, { "cell_type": "markdown", "id": "06a3540a", "metadata": {}, "source": [ "## Example\n", "\n", "We will look at a small sample of height data for brother-sister pairs.\n", "\n", "\n", "\n", "### Set up Python libraries\n", "\n", "As usual, run the code cell below to import the relevant Python libraries" ] }, { "cell_type": "code", "execution_count": 9, "id": "7f1d34e0", "metadata": {}, "outputs": [], "source": [ "# Set-up Python libraries - you need to run this but you don't need to change it\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import scipy.stats as stats\n", "import pandas \n", "import seaborn as sns\n", "sns.set_theme() # use pretty defaults" ] }, { "cell_type": "markdown", "id": "fb218a2a", "metadata": {}, "source": [ "### Load and inspect the data" ] }, { "cell_type": "markdown", "id": "3bbd70d4", "metadata": {}, "source": [ "Load the file brotherSisterData.csv which contains heights in cm for 25 brother-sister pairs" ] }, { "cell_type": "code", "execution_count": 13, "id": "5b37c633", "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", " \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", "
brothersister
0174172
1183180
2154148
3172180
4172165
5161159
6167159
7172164
8195188
9189175
10161160
11181177
12175168
13170169
14175165
15169164
16169163
17180176
18180176
19180172
20175170
21162157
22175172
23181179
24173171
\n", "
" ], "text/plain": [ " brother sister\n", "0 174 172\n", "1 183 180\n", "2 154 148\n", "3 172 180\n", "4 172 165\n", "5 161 159\n", "6 167 159\n", "7 172 164\n", "8 195 188\n", "9 189 175\n", "10 161 160\n", "11 181 177\n", "12 175 168\n", "13 170 169\n", "14 175 165\n", "15 169 164\n", "16 169 163\n", "17 180 176\n", "18 180 176\n", "19 180 172\n", "20 175 170\n", "21 162 157\n", "22 175 172\n", "23 181 179\n", "24 173 171" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "heightData = pandas.read_csv('https://raw.githubusercontent.com/jillxoreilly/StatsCourseBook/main/data/BrotherSisterData.csv')\n", "display(heightData)" ] }, { "cell_type": "markdown", "id": "7006abed", "metadata": {}, "source": [ "In this section, we are going to focus just on the brothers.\n", "\n", "### Plot a histogram\n", "\n", "Let's start by plotting a histogram of the data to see what the distriubtion of heights is.\n", "\n", "In this course we will use plotting functions from the libraries matplotlib (imported as plt) and seaborn (imported as sns). \n", "\n", "Therefore all the plotting commands will be preceded by either plt. or sns." ] }, { "cell_type": "code", "execution_count": 3, "id": "d1ee3ecd", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'frequency')" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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HvWq65VXXtFNN92kpk2b6tprr1VWVpbXXoay6qpfv76io6N1ySWXSJK++OIL9ejRQ3/+85+Vmpqqnj176tNPP/3dn8kvv/yixx57TC1atFBqaqoGDRqk/fv3e22zatUq3XLLLUpOTtZVV12lcePGea2hrMM+c+bM0fXXX69mzZrpzjvv1HvvvVfmoa01a9aoc+fOSk5O1o033qglS5ZIOnmo7frrr5ckPfroo0pPT//dtQB/dOxxAULMO++8o2bNmmnSpEnKz8/X5MmTtXPnTi1atMizzaZNm+RwOJSVlaUjR47I5XLpvvvu0yeffKKBAwfqsssu0/r16/X888/rhx9+0FNPPaUBAwYoPz9f27Zt07Rp03TJJZd43tgzMjLUvXt3zZgxQ5s3b1ZWVpZiY2M1YsQISdKsWbM0depUdevWTY8++qi+/PJLZWVl6aefftKECRPOWNeFF16oLVu2SDoZPu699161bNlSmZmZOnHihF544QX16dNHq1evVtWqVc/4M/nXv/6lTp06KSMjQzt27NAzzzwjScrMzJQkLV26VMOGDfP8EtXdu3dr6tSp+vrrrzV37twyD1VNmzZN06dPV58+fdSqVSt98MEHeuihh8r8/qNHj9aQIUN0/vnna9asWRo5cqSSkpJUv359TZs2TQ888ID69++vG264wZdWA39MFoCQcd1111ktW7a0Dh8+7BlbuXKllZiYaH3wwQeWZVnWiBEjrMTERCs3N9ezzZo1a6zExETrzTff9Jpv+vTpVmJiorVjxw7Pfa+77jrP7T/88IOVmJhoDRkyxOt+d955p/XXv/7VsizLKigosFJSUqzRo0d7bfPyyy9biYmJ1vbt289Y16m2bNliJSYmWps2bfKM7dy503r66aetH3/88Yw/k8TERKtr165eY0OHDrWaN29uWZZlud1u65prrrH69Onjtc26deusxMREa/Xq1ZZlWVZmZqaVmJhoWZZlHTlyxGrWrJn11FNPed3niSeesBITE62PP/7Y6z7Z2dmebXJzc63ExETrxRdftCzr15/ha6+9dsY1APgVh4qAENO2bVvFxsZ6/p2enq7w8HCtW7fOMxYZGek5/CJJGzZskMvlUocOHbzm6ty5syT97lU9aWlpXv+++OKLVVBQIEnasmWLjh07pvT0dBUXF3v+lB4WWbt27RnrOtWll16qGjVqqH///hozZozee+891apVS8OHD9cFF1xQbn1//vOfz1jft99+qz179pxWX/PmzRUbG+tVX6lPPvlEhYWFat++vdd4x44dy/z+p/58Lr74YknyfH8AvuFQERBizjvvPK9/O51OVa9e3euNsmbNml6HPw4dOqT4+HiFhXm/JJSeHHv48OFyv2dUVNRp39P6/88lOXjwoCSpb9++Zd43Ly/vjHWdKiYmRvPnz9cLL7yg5cuXa9GiRYqKilLnzp312GOPqUqVKmesLzo6+nfre/LJJ/Xkk0+WW1+p0nOGatSo4TX+2599Wd/f6Tz5/0WLz20BKoXgAoSY3/5PvqSkRAcOHFDNmjXPeJ9q1arpwIEDKi4u9govpW/a8fHxla4nLi5OkjR58mT96U9/Ou32M73Zl6V+/fp69tlnVVJSoq1bt+rNN9/UwoULVadOnTMGo4rWN3z4cLVo0eK026tVq3baWOnVRfn5+apfv75n/NSToAEEBoeKgBCzbt06r6t1VqxYoeLiYrVs2fKM92nRooVKSkq0fPlyr/G33npL0q+HWkr3FvgiJSVF4eHh2rt3r5KTkz1/wsPD9dxzz2nXrl0Vmuff//63WrVqpX379snlcik1NVVjx45VXFyc9uzZ43NdperXr6+aNWtq165dXvUlJCToueee07Zt2067T1JSkqpWrar//Oc/XuMrVqzw+fu7XK5K1w78EbHHBQgxP//8sx588EF1795dubm5mjJliq666iq1bt36jPe55ppr1LJlS40ZM0Z5eXlq3LixNmzYoH/84x/q0qWLGjZsKOnk3omff/5Z2dnZuuyyyypUT3x8vO69915lZGTol19+UcuWLbV3715lZGTI4XAoKSmpQvNcccUVcrvdGjhwoPr27auYmBi98847Onz48FldjeNyufTQQw9p9OjRcrlcuu6661RQUKAZM2Zo7969atKkyWn3iY2N1b333qvMzExFRUWpRYsW2rBhgxYuXCjJt4BXejXURx99pAYNGiglJaXSawH+CAguQIi5/fbbVVhYqIEDByoiIkKdOnXSI488Uu6nzzocDs2aNUuZmZn617/+pfz8fNWpU0cPPfSQevXq5dnulltuUXZ2tgYOHKhBgwaddjLvmQwZMkS1atXSggULNHv2bFWrVk2tW7fWww8/XO5lzKc6//zzNXv2bGVkZOixxx7TsWPHdOmllyorK0utWrWq0Bxn0rVrV8XExGj27NlavHixoqOjdcUVV2jy5Mmek2l/q1+/fnK73Vq8eLHmzJmjlJQUDRs2TBMnTjztnJryxMbGqlevXlq8eLHWrFmjtWvXKiIi4qzWA4Qyh8UZYgDgk+LiYi1btkwtW7b0uqJp/vz5GjdunNavX+85dwaAfxFcAKASbrrpJkVERKh///6Kj49XTk6OMjIy1K5dO02cONHu8oCQRXABgEr44YcfNGXKFK1fv14FBQW68MIL1blzZ/Xr10/h4eF2lweELIILAAAwBpdDAwAAYxBcAACAMQguAADAGAQXAABgDIILAAAwBsEFAAAYg+ACAACMQXABAADGILgAAABj/B8FYs979TGZPgAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.histplot(heightData[\"brother\"], bins = range(150,200,5), color='b')\n", "plt.xlabel('brother\\'s height') \n", "plt.ylabel('frequency')" ] }, { "cell_type": "markdown", "id": "5fcca7b0", "metadata": {}, "source": [ "### Bin size\n", "\n", "In a histogram, we bin data (in this case, we group the heights into 5cm-wide bins), and count how many data values fall in each bin\n", "\n", "I used bins of 5cm to group the heights, and used x-axis values from 150 to 200 cm. \n", "" ] }, { "cell_type": "code", "execution_count": 4, "id": "24afb36e", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'frequency')" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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HvWq65VXXtFNN92kpk2b6tprr1VWVpbXXoay6qpfv76io6N1ySWXSJK++OIL9ejRQ3/+85+Vmpqqnj176tNPP/3dn8kvv/yixx57TC1atFBqaqoGDRqk/fv3e22zatUq3XLLLUpOTtZVV12lcePGea2hrMM+c+bM0fXXX69mzZrpzjvv1HvvvVfmoa01a9aoc+fOSk5O1o033qglS5ZIOnmo7frrr5ckPfroo0pPT//dtQB/dOxxAULMO++8o2bNmmnSpEnKz8/X5MmTtXPnTi1atMizzaZNm+RwOJSVlaUjR47I5XLpvvvu0yeffKKBAwfqsssu0/r16/X888/rhx9+0FNPPaUBAwYoPz9f27Zt07Rp03TJJZd43tgzMjLUvXt3zZgxQ5s3b1ZWVpZiY2M1YsQISdKsWbM0depUdevWTY8++qi+/PJLZWVl6aefftKECRPOWNeFF16oLVu2SDoZPu699161bNlSmZmZOnHihF544QX16dNHq1evVtWqVc/4M/nXv/6lTp06KSMjQzt27NAzzzwjScrMzJQkLV26VMOGDfP8EtXdu3dr6tSp+vrrrzV37twyD1VNmzZN06dPV58+fdSqVSt98MEHeuihh8r8/qNHj9aQIUN0/vnna9asWRo5cqSSkpJUv359TZs2TQ888ID69++vG264wZdWA39MFoCQcd1111ktW7a0Dh8+7BlbuXKllZiYaH3wwQeWZVnWiBEjrMTERCs3N9ezzZo1a6zExETrzTff9Jpv+vTpVmJiorVjxw7Pfa+77jrP7T/88IOVmJhoDRkyxOt+d955p/XXv/7VsizLKigosFJSUqzRo0d7bfPyyy9biYmJ1vbt289Y16m2bNliJSYmWps2bfKM7dy503r66aetH3/88Yw/k8TERKtr165eY0OHDrWaN29uWZZlud1u65prrrH69Onjtc26deusxMREa/Xq1ZZlWVZmZqaVmJhoWZZlHTlyxGrWrJn11FNPed3niSeesBITE62PP/7Y6z7Z2dmebXJzc63ExETrxRdftCzr15/ha6+9dsY1APgVh4qAENO2bVvFxsZ6/p2enq7w8HCtW7fOMxYZGek5/CJJGzZskMvlUocOHbzm6ty5syT97lU9aWlpXv+++OKLVVBQIEnasmWLjh07pvT0dBUXF3v+lB4WWbt27RnrOtWll16qGjVqqH///hozZozee+891apVS8OHD9cFF1xQbn1//vOfz1jft99+qz179pxWX/PmzRUbG+tVX6lPPvlEhYWFat++vdd4x44dy/z+p/58Lr74YknyfH8AvuFQERBizjvvPK9/O51OVa9e3euNsmbNml6HPw4dOqT4+HiFhXm/JJSeHHv48OFyv2dUVNRp39P6/88lOXjwoCSpb9++Zd43Ly/vjHWdKiYmRvPnz9cLL7yg5cuXa9GiRYqKilLnzp312GOPqUqVKmesLzo6+nfre/LJJ/Xkk0+WW1+p0nOGatSo4TX+2599Wd/f6Tz5/0WLz20BKoXgAoSY3/5PvqSkRAcOHFDNmjXPeJ9q1arpwIEDKi4u9govpW/a8fHxla4nLi5OkjR58mT96U9/Ou32M73Zl6V+/fp69tlnVVJSoq1bt+rNN9/UwoULVadOnTMGo4rWN3z4cLVo0eK026tVq3baWOnVRfn5+apfv75n/NSToAEEBoeKgBCzbt06r6t1VqxYoeLiYrVs2fKM92nRooVKSkq0fPlyr/G33npL0q+HWkr3FvgiJSVF4eHh2rt3r5KTkz1/wsPD9dxzz2nXrl0Vmuff//63WrVqpX379snlcik1NVVjx45VXFyc9uzZ43NdperXr6+aNWtq165dXvUlJCToueee07Zt2067T1JSkqpWrar//Oc/XuMrVqzw+fu7XK5K1w78EbHHBQgxP//8sx588EF1795dubm5mjJliq666iq1bt36jPe55ppr1LJlS40ZM0Z5eXlq3LixNmzYoH/84x/q0qWLGjZsKOnk3omff/5Z2dnZuuyyyypUT3x8vO69915lZGTol19+UcuWLbV3715lZGTI4XAoKSmpQvNcccUVcrvdGjhwoPr27auYmBi98847Onz48FldjeNyufTQQw9p9OjRcrlcuu6661RQUKAZM2Zo7969atKkyWn3iY2N1b333qvMzExFRUWpRYsW2rBhgxYuXCjJt4BXejXURx99pAYNGiglJaXSawH+CAguQIi5/fbbVVhYqIEDByoiIkKdOnXSI488Uu6nzzocDs2aNUuZmZn617/+pfz8fNWpU0cPPfSQevXq5dnulltuUXZ2tgYOHKhBgwaddjLvmQwZMkS1atXSggULNHv2bFWrVk2tW7fWww8/XO5lzKc6//zzNXv2bGVkZOixxx7TsWPHdOmllyorK0utWrWq0Bxn0rVrV8XExGj27NlavHixoqOjdcUVV2jy5Mmek2l/q1+/fnK73Vq8eLHmzJmjlJQUDRs2TBMnTjztnJryxMbGqlevXlq8eLHWrFmjtWvXKiIi4qzWA4Qyh8UZYgDgk+LiYi1btkwtW7b0uqJp/vz5GjdunNavX+85dwaAfxFcAKASbrrpJkVERKh///6Kj49XTk6OMjIy1K5dO02cONHu8oCQRXABgEr44YcfNGXKFK1fv14FBQW68MIL1blzZ/Xr10/h4eF2lweELIILAAAwBpdDAwAAYxBcAACAMQguAADAGAQXAABgDIILAAAwBsEFAAAYg+ACAACMQXABAADGILgAAABj/B8FYs979TGZPgAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.histplot(heightData[\"brother\"], bins = range(150,200,5), color='b') # hint - the numbers 150, 200 and 5 are the minimum/maximum x axis values and the bin size\n", "plt.xlabel('brother\\'s height') \n", "plt.ylabel('frequency')" ] }, { "cell_type": "markdown", "id": "8d8d6e29", "metadata": {}, "source": [ "### Bin boundaries\n", "\n", "One problem with using a histogram when you have only a small number of data points is \n", "that the shape of the histogram can depend a lot on where the bin boundaries happen to fall. \n", "\n", "Look at the following plot of brothers' heights, again grouped into 5cm bins but with different bin boundaries: \n", "\n", "#### Exercises\n", "" ] }, { "cell_type": "code", "execution_count": 16, "id": "cc00f97d", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'frequency')" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.histplot(heightData[\"brother\"], bins = range(152,202,5), color='b')\n", "plt.xlabel('brother\\'s height') \n", "plt.ylabel('frequency')" ] }, { "cell_type": "markdown", "id": "efa1d4cf", "metadata": {}, "source": [ "The shape of the distribution looks quite different!\n", "\n", "We can see this more clearly if we plot both versions next to each other (this is achieved using the command subplot - we will revisit it later so don't worry too much about that)" ] }, { "cell_type": "code", "execution_count": 22, "id": "2697f098", "metadata": {}, "outputs": [ { "data": { "image/png": "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966N9f0v2LimXFe445zoEY8xxoQ1S5jmz5+vqqoq5efnS5JWrFihkpISTZ8+3ckygJhFj8Apjr8HEAgE5PH8L5GMMfUeA7ajR+AUxwPgsssuU1lZWd3jsrIytW/f3ukygJhFj8ApjgfALbfcoq1bt6qiokLV1dX629/+pltvvdXpMoCYRY/AKY6/CXzppZcqPz9fY8aMkc/nU3Z2tn70ox85XQYQs+gROMXxN4EBALGBTwIDgKUIAACwFAEAAJYiAADAUgTAOVRWViojI0OHDh2SJO3YsUMjRozQ4MGDNWHCBJ05c0aStHfvXmVlZenOO+/U448/rtra2miWHdTZ69q8ebOGDBmijIwMTZw40bXrQmTRD+5aV0gM6vnwww9NRkaG6datmzl48KA5efKk6dWrl9m7d68xxpj8/HyzePFiY4wxgwcPNjt27DDGGDNlypS652PR2esyxphbb73VfPbZZ8YYYx566CGzfPlyY4y71oXIoh/cta5QcQRwluXLl2vatGl1n7zcsmWLevTooa5du0qSpk6dqttvv11ffvmlTp8+rR49ekiSsrKytGHDhmiVHdTZ65Ikv9+vyspK+f1+1dTUKDk52XXrQmTRD+5aV6gc/yBYrCsqKqr3+MCBA2rVqpXy8/P1xRdf6IYbbtDkyZO1Z88eeb3euu/zer0qLS11utxGO3tdkvSrX/1Kubm5SklJ0eWXX64BAwZo9+7drloXIot+aN79wBFAEH6/X5s3b9aECRO0atUqVVdXa8GCBa6/YFdZWZlmz56ttWvXavPmzerevbtmzpzp+nUhsugHd60rGAIgiHbt2ql79+664oorFB8fr4EDB6qkpOQ7F+w6evSoqy7Y9f7776tLly76/ve/r7i4OI0YMULbt293/boQWfSDu9YVDAEQRO/evbV7924dPnxYkvTOO++oW7du6tixo5KTk/XBBx9IktasWeOqC3Z16dJFJSUlOnr0qCRp48aNuv76612/LkQW/eCudQXDewBBdOjQQYWFhcrLy1NNTY1++MMfatKkSZKk2bNna+rUqaqsrFS3bt00ZsyYKFfbeJ06ddL48eM1ZswYxcfH68orr1RhYaEkd68LkUU/uGtdwXAxOACwFKeAAMBSBAAAWIoAAABLEQAAYCkCAAAsRQCcw7Zt25SRkXHB25k3b57eeustSdLkyZO1cOHCC9reyy+/rNzc3JC+/9s/ZWus0tJS5eTkBP2+fv366aOPPjrn18aOHauKioqQ5oW70CPNo0cIgAjatm1bk146tkWLFmrZsmWTbe9cLr30Ui1btuyCtrFly5YmqgbNHT0SXXwQrAFVVVV6+OGHdeDAAbVu3VqFhYW6+uqrNXnyZB07dkwHDx7Ubbfdpry8PD311FPat2+fPB6P+vTpowkTJuj111/Xrl279Oyzzyo+Pl7SN9dRz8nJ0dGjR9W5c2c9//zzatWqlT7//HMVFRXp2LFj8vv9ys3NVXZ2trZt26aioiK1atVKp06d0sSJE/XtxzaWLFmiZcuWKTExUcnJySosLNS11177nXV88cUXys3NVVlZmdq1a6cXXnhB7du3V2lpqQoLC3X48GH5fD4NHjxYeXl5OnTokDIzM7Vjxw5VV1dr2rRp2rlzp1JTU+u2P2vWLEnS66+/rmnTpqmiokJDhw5Vfn6+pkyZIkm65557tGDBAnXo0MGJHxeigB5pBj0SvStRx65//OMfpmvXruaDDz4wxhizbNkyk52dbYwxZtKkSeaee+6p+96JEyea6dOnm0AgYGpqaszYsWPN/PnzjTHG3H333Wb9+vV147Kzs01VVZWpra01w4YNM6tXrzY+n88MGjTI7Nq1yxhjzIkTJ8zAgQPNjh076uo4dOhQvfpqa2tNt27dTGlpqTHGmNWrV5tly5Z9Zx0vvfSS6devnykvLzfGGDNu3Dgzb948Y4wxubm5ZuPGjcYYY06fPm1yc3PNunXrzMGDB02PHj2MMcbMnj3bTJgwwfj9fnPy5EmTmZlpJk2aZIwxpm/fvqawsNAYY8yRI0fMddddZ7766itjjDFdunSpmxPNEz3SPHqEU0AN+MEPfqAbbrhBkjRs2DDt2rVLJ0+elCTdeOONdd/37rvv6u6775bH41FSUpJycnL07rvvnnOb/fv3V8uWLRUfH6/OnTuroqJC+/fv17///W8VFBRo6NChuvvuu3X69Gnt2bNH0jcfve/YsWO97cTHx2vAgAHKyclRYWGhWrdurezs7HPO2atXL7Vt21aS1LVrV1VUVKiqqkr//Oc/NXfuXA0dOlQjRozQ4cOHtW/fvnpjN23apOzsbMXFxSklJUXDhg2r9/VvzwF7vV61a9dO5eXljXpt0TzQI+7vEU4BNSAurn42ejweJSR883K1atWq7vmzLxcbCAQaPKf57fhvt2eMkd/vV2pqqtasWVP3taNHjyo1NVUffvhhvbn+3+zZs/XJJ5+ouLhYCxYs0Jo1azR37txGzRkIBGSM0bJly+rOl1ZUVCg5OVlff/11vbHm/64UcvZrcq5twx70iPt7hCOABnz88cfau3evpG/O4914443nfHOpd+/e+uMf/yhjjM6cOaPly5frlltukfTNbyHB3uC6+uqr1aJFi7qd+/Dhw8rIyNCuXbsaHFNRUaH09HS1adNG9957rx555JEG/9rgXFJSUtSjRw+99tprkqQTJ05o5MiR2rhxY73vS09P18qVKxUIBFRdXa21a9c26lrojVk33I8ecX+PcATQgGuuuUbz5s3TwYMHlZaWVvemztmmTp2qGTNmKDMzUz6fT3369FFeXp6kb/4M7IUXXpDP52twnqSkJL3yyisqKirSb3/7W9XW1mr8+PG68cYbtW3btnOOadu2rcaNG6d7771XLVq0UHx8vGbMmBHS+mbPnq3p06crMzNTZ86cUUZGhoYMGVJ3g2xJeuCBB1RYWKjMzEylpqYqLS1NLVq0CLrtAQMGKDc3Vy+//LK6dOkSUl1wD3rE/T3C1UDRoHXr1iklJUXp6ekKBAJ66KGH1KtXL40aNSrapQExwe09QgCgQZ988omefPJJVVdXy+fz6eabb1ZBQYESExOjXRoQE9zeIwQAAFiKN4EBwFIEAABYigAAAEsRAABgKQIAACxFAACApf4LdL7XfNabIP8AAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.subplot(1,2,1)\n", "sns.histplot(heightData[\"brother\"], bins = range(150,200,5), color='b')\n", "plt.xlabel('brother\\'s height') \n", "plt.ylabel('frequency')\n", "plt.ylim((0,10)) # this sets the y axis limits rather than letting the computer choose them automatically\n", "\n", "plt.subplot(1,2,2)\n", "sns.histplot(heightData[\"brother\"], bins = range(152,202,5), color='b') \n", "plt.xlabel('brother\\'s height') \n", "plt.ylabel('frequency')\n", "plt.ylim((0,10))\n", "\n", "plt.subplots_adjust(wspace = 0.5) # shift the plots sideways so they don't overlap" ] }, { "cell_type": "markdown", "id": "8fccd808", "metadata": {}, "source": [ "Originally (left) the bin boundaries were at 150cm, 155cm, 160cm etc.\n", "\n", "In the second histogram (right) the bin boundaries were at 152cm, 157cm, 162cm etc.\n", "\n", "Moving the bin boundaries changed how many observations fell in each bin and thus the shape of the histogram. This can happen easily when you have a small number of observations in each bin (check the y-axis in the above histogram - you can see that moving just one observation makes a big difference to the height of the bars).\n", "\n", "For this reason, a histogram may not be the best representation of the data for a small sample.\n", "\n", "#### Exercises\n", "
    \n", "
  • I added a line of code to set the y axis limits to be [0,10] - why do you think I did this?\n", "
  • Try removing or commenting it out and see how the two histograms change - is it easier to compare with fixed or automatic y-axis?\n", "
" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.9.13" } }, "nbformat": 4, "nbformat_minor": 5 }