{ "cells": [ { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "# Visualizing Data" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "\n", "Visualizing data is a key part of data science. It is not only a way to communicate your findings to others but, more importantly, **it is a way to understand your data**, models and algorithms better. \n", "\n", "In this section, we will learn how to use the libraries `matplotlib` and `seaborn` to create visualizations. \n", "\n", "`matplotlib` is the primary plotting library in Python. It is a very powerful and highly customizable library that can be used to create a wide variety of plots and graphs. However, despite its power, is can often be not very user-friendly, requiring a lot of code to create even simple plots. \n", "\n", "`seaborn` is a data visualization library built on top of `matplotlib` that is easier to use and creates more visually appealing plots. I will try to use `seaborn` whenever possible, but may have to fall back occasionally to `matplotlib` for formatting details and customization.\n", "\n", "Just as `pandas` is conventionally imported as `pd`, `matplotlib.pyplot` is conventionally imported as `plt` and `seaborn` is conventionally imported as `sns`.\n", "\n", "Let's start by importing the libraries we will need." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "from matplotlib import pyplot as plt\n", "import seaborn as sns" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "\n", "
\n", "\n", "There has long been an impression amongst academics and practitioners that _\"numerical calculations are exact, but graphs are rough\"_. In 1973, Francis Anscombe set out to counter this common misconception by creating a set of four datasets that are today known as **Anscombe's quartet**.\n", "\n", "The code cell below downloads and loads it as `pandas` `DataFrame` this data set: " ] }, { "cell_type": "code", "execution_count": 31, "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", "
datasetxy
0I10.08.04
1I8.06.95
2I13.07.58
3I9.08.81
4I11.08.33
\n", "
" ], "text/plain": [ " dataset x y\n", "0 I 10.0 8.04\n", "1 I 8.0 6.95\n", "2 I 13.0 7.58\n", "3 I 9.0 8.81\n", "4 I 11.0 8.33" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "anscombe = sns.load_dataset(\"anscombe\")\n", "anscombe.head()" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "Now let's see what the summary statistics of `x` and `y` features look like, with respect to `dataset` feature:" ] }, { "cell_type": "code", "execution_count": 29, "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", "
xy
countmeanstdmin25%50%75%maxcountmeanstdmin25%50%75%max
dataset
I11.09.03.3166254.06.59.011.514.011.07.5009092.0315684.266.3157.588.5710.84
II11.09.03.3166254.06.59.011.514.011.07.5009092.0316573.106.6958.148.959.26
III11.09.03.3166254.06.59.011.514.011.07.5000002.0304245.396.2507.117.9812.74
IV11.09.03.3166258.08.08.08.019.011.07.5009092.0305795.256.1707.048.1912.50
\n", "
" ], "text/plain": [ " x y \\\n", " count mean std min 25% 50% 75% max count mean \n", "dataset \n", "I 11.0 9.0 3.316625 4.0 6.5 9.0 11.5 14.0 11.0 7.500909 \n", "II 11.0 9.0 3.316625 4.0 6.5 9.0 11.5 14.0 11.0 7.500909 \n", "III 11.0 9.0 3.316625 4.0 6.5 9.0 11.5 14.0 11.0 7.500000 \n", "IV 11.0 9.0 3.316625 8.0 8.0 8.0 8.0 19.0 11.0 7.500909 \n", "\n", " \n", " std min 25% 50% 75% max \n", "dataset \n", "I 2.031568 4.26 6.315 7.58 8.57 10.84 \n", "II 2.031657 3.10 6.695 8.14 8.95 9.26 \n", "III 2.030424 5.39 6.250 7.11 7.98 12.74 \n", "IV 2.030579 5.25 6.170 7.04 8.19 12.50 " ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "anscombe.groupby(\"dataset\").describe()" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "Note that for all four unique values of `dataset`, we have eleven (`x`, `y`) values, as seen in `count`. \n", "\n", "For each value of `dataset`, `x` and `y` have nearly **identical simple descriptive statistics**.\n", "\n", "Now let's create a scatter plot of the data using `seaborn`:" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "g = sns.FacetGrid(anscombe, col=\"dataset\");\n", "g.map(sns.scatterplot, \"x\", \"y\", s=100, color=\"orange\", linewidth=.5, edgecolor=\"black\");" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "Anscombe's quartet demonstrates both the **importance of graphing data before analyzing** it and the **effect of outliers** and other influential observations on statistical properties." ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "Data Visualization is arguably the most mistake-prone part of the data science process. It is very easy to create misleading visualizations that lead to incorrect conclusions. It is therefore important to be aware of the common pitfalls and to avoid them. \n", "\n", "The following is a useful taxonomy for choosing the right visualization depending on your goals for your data:\n", "\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [] } ], "metadata": { "kernelspec": { "display_name": "base", "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.12" }, "orig_nbformat": 4 }, "nbformat": 4, "nbformat_minor": 2 }