Skip to content

Instantly share code, notes, and snippets.

@iamirmasoud
Created July 2, 2022 12:21
Show Gist options
  • Save iamirmasoud/c41a5288dae97db0778d2fc8435425c6 to your computer and use it in GitHub Desktop.
Save iamirmasoud/c41a5288dae97db0778d2fc8435425c6 to your computer and use it in GitHub Desktop.
Seaborn equivalent charts in Plotly Express
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"execution_count": null,
"metadata": {},
"source": [
"## **Seaborn vs Plotly Express**\n",
"\n",
"Most beginners and professions are using Seaborn as visualization tool for EDA. Choice is simple as Seaborn make visualization lot easier and nicer than any other visualization tool. That was the understanding I had until I work through Ploty Express lately. Plotly Express provide same good looking graphs with few code lines and interactive on the other hand. Another good aspect in Plotly Express is that formatting the graphs is lot more easily than Seaborn with in same number of code lines. Let me explain what I just said with an example. Let’s look at a code block of Seaborn and Plotly Express to style a graph. Let me load all necessary Libraries.\n",
"\n",
"Install Plotly : **pip install plotly**"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"\n",
"import seaborn as sns ## These Three lines are necessary for Seaborn to work \n",
"import matplotlib.pyplot as plt \n",
"sns.set(color_codes=True)\n",
"\n",
"%matplotlib inline \n",
"\n",
"\n",
"import plotly_express as px ##Plotly Express need only one line to load the libraries"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"_cell_guid": "79c7e3d0-c299-4dcb-8224-4455121ee9b0",
"_uuid": "d629ff2d2480ee46fbb7e2d37f6b5fab8052498a"
},
"outputs": [],
"source": [
"auto = pd.read_csv('../input/auto-data-set-with-automotive-information/Auto.csv')## Loading the data set "
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>symboling</th>\n",
" <th>normalized_losses</th>\n",
" <th>make</th>\n",
" <th>fuel_type</th>\n",
" <th>aspiration</th>\n",
" <th>number_of_doors</th>\n",
" <th>body_style</th>\n",
" <th>drive_wheels</th>\n",
" <th>engine_location</th>\n",
" <th>wheel_base</th>\n",
" <th>...</th>\n",
" <th>engine_size</th>\n",
" <th>fuel_system</th>\n",
" <th>bore</th>\n",
" <th>stroke</th>\n",
" <th>compression_ratio</th>\n",
" <th>horsepower</th>\n",
" <th>peak_rpm</th>\n",
" <th>city_mpg</th>\n",
" <th>highway_mpg</th>\n",
" <th>price</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>3</td>\n",
" <td>168</td>\n",
" <td>alfa-romero</td>\n",
" <td>gas</td>\n",
" <td>std</td>\n",
" <td>two</td>\n",
" <td>convertible</td>\n",
" <td>rwd</td>\n",
" <td>front</td>\n",
" <td>88.6</td>\n",
" <td>...</td>\n",
" <td>130</td>\n",
" <td>mpfi</td>\n",
" <td>3.47</td>\n",
" <td>2.68</td>\n",
" <td>9.0</td>\n",
" <td>111</td>\n",
" <td>5000</td>\n",
" <td>21</td>\n",
" <td>27</td>\n",
" <td>13495</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>3</td>\n",
" <td>168</td>\n",
" <td>alfa-romero</td>\n",
" <td>gas</td>\n",
" <td>std</td>\n",
" <td>two</td>\n",
" <td>convertible</td>\n",
" <td>rwd</td>\n",
" <td>front</td>\n",
" <td>88.6</td>\n",
" <td>...</td>\n",
" <td>130</td>\n",
" <td>mpfi</td>\n",
" <td>3.47</td>\n",
" <td>2.68</td>\n",
" <td>9.0</td>\n",
" <td>111</td>\n",
" <td>5000</td>\n",
" <td>21</td>\n",
" <td>27</td>\n",
" <td>16500</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>1</td>\n",
" <td>168</td>\n",
" <td>alfa-romero</td>\n",
" <td>gas</td>\n",
" <td>std</td>\n",
" <td>two</td>\n",
" <td>hatchback</td>\n",
" <td>rwd</td>\n",
" <td>front</td>\n",
" <td>94.5</td>\n",
" <td>...</td>\n",
" <td>152</td>\n",
" <td>mpfi</td>\n",
" <td>2.68</td>\n",
" <td>3.47</td>\n",
" <td>9.0</td>\n",
" <td>154</td>\n",
" <td>5000</td>\n",
" <td>19</td>\n",
" <td>26</td>\n",
" <td>16500</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2</td>\n",
" <td>164</td>\n",
" <td>audi</td>\n",
" <td>gas</td>\n",
" <td>std</td>\n",
" <td>four</td>\n",
" <td>sedan</td>\n",
" <td>fwd</td>\n",
" <td>front</td>\n",
" <td>99.8</td>\n",
" <td>...</td>\n",
" <td>109</td>\n",
" <td>mpfi</td>\n",
" <td>3.19</td>\n",
" <td>3.40</td>\n",
" <td>10.0</td>\n",
" <td>102</td>\n",
" <td>5500</td>\n",
" <td>24</td>\n",
" <td>30</td>\n",
" <td>13950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>2</td>\n",
" <td>164</td>\n",
" <td>audi</td>\n",
" <td>gas</td>\n",
" <td>std</td>\n",
" <td>four</td>\n",
" <td>sedan</td>\n",
" <td>4wd</td>\n",
" <td>front</td>\n",
" <td>99.4</td>\n",
" <td>...</td>\n",
" <td>136</td>\n",
" <td>mpfi</td>\n",
" <td>3.19</td>\n",
" <td>3.40</td>\n",
" <td>8.0</td>\n",
" <td>115</td>\n",
" <td>5500</td>\n",
" <td>18</td>\n",
" <td>22</td>\n",
" <td>17450</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>5 rows × 26 columns</p>\n",
"</div>"
],
"text/plain": [
" symboling normalized_losses make fuel_type aspiration \\\n",
"0 3 168 alfa-romero gas std \n",
"1 3 168 alfa-romero gas std \n",
"2 1 168 alfa-romero gas std \n",
"3 2 164 audi gas std \n",
"4 2 164 audi gas std \n",
"\n",
" number_of_doors body_style drive_wheels engine_location wheel_base ... \\\n",
"0 two convertible rwd front 88.6 ... \n",
"1 two convertible rwd front 88.6 ... \n",
"2 two hatchback rwd front 94.5 ... \n",
"3 four sedan fwd front 99.8 ... \n",
"4 four sedan 4wd front 99.4 ... \n",
"\n",
" engine_size fuel_system bore stroke compression_ratio horsepower \\\n",
"0 130 mpfi 3.47 2.68 9.0 111 \n",
"1 130 mpfi 3.47 2.68 9.0 111 \n",
"2 152 mpfi 2.68 3.47 9.0 154 \n",
"3 109 mpfi 3.19 3.40 10.0 102 \n",
"4 136 mpfi 3.19 3.40 8.0 115 \n",
"\n",
" peak_rpm city_mpg highway_mpg price \n",
"0 5000 21 27 13495 \n",
"1 5000 21 27 16500 \n",
"2 5000 19 26 16500 \n",
"3 5500 24 30 13950 \n",
"4 5500 18 22 17450 \n",
"\n",
"[5 rows x 26 columns]"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"auto.head()## Let's take look on the data set"
]
},
{
"cell_type": "markdown",
"execution_count": null,
"metadata": {},
"source": [
"Let's try to plot simple box plot of Seaborn and Plotly Express and then Style it till we get good looking professional graph. After comparison of styling of graphs, I will explin most typically used visualizations in EDA to compare Plotly Express and Seaborn."
]
},
{
"cell_type": "markdown",
"execution_count": null,
"metadata": {},
"source": [
"#### **Seaborn Box Plot**\n",
"\n",
"This box plot is using to visualize bivariate distribution between numerical variable and categorical variable from the data set. It is a single line code in Seaborn."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"sns.boxplot(auto['number_of_doors'], auto['horsepower']);"
]
},
{
"cell_type": "markdown",
"execution_count": null,
"metadata": {},
"source": [
"#### Plotly Express Box Plot\n",
"\n",
"This box plot is using same visualize as above seaborn box plot and its need two lines of codes."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
" <script type=\"text/javascript\">\n",
" window.PlotlyConfig = {MathJaxConfig: 'local'};\n",
" if (window.MathJax) {MathJax.Hub.Config({SVG: {font: \"STIX-Web\"}});}\n",
" if (typeof require !== 'undefined') {\n",
" require.undef(\"plotly\");\n",
" requirejs.config({\n",
" paths: {\n",
" 'plotly': ['https://cdn.plot.ly/plotly-latest.min']\n",
" }\n",
" });\n",
" require(['plotly'], function(Plotly) {\n",
" window._Plotly = Plotly;\n",
" });\n",
" }\n",
" </script>\n",
" "
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<div>\n",
" \n",
" \n",
" <div id=\"d9e96670-5a4c-46bf-aebd-0c45c406c5ee\" class=\"plotly-graph-div\" style=\"height:525px; width:100%;\"></div>\n",
" <script type=\"text/javascript\">\n",
" require([\"plotly\"], function(Plotly) {\n",
" window.PLOTLYENV=window.PLOTLYENV || {};\n",
" \n",
" if (document.getElementById(\"d9e96670-5a4c-46bf-aebd-0c45c406c5ee\")) {\n",
" Plotly.newPlot(\n",
" 'd9e96670-5a4c-46bf-aebd-0c45c406c5ee',\n",
" [{\"alignmentgroup\": \"True\", \"hovertemplate\": \"number_of_doors=%{x}<br>horsepower=%{y}<extra></extra>\", \"legendgroup\": \"\", \"marker\": {\"color\": \"#636efa\"}, \"name\": \"\", \"notched\": false, \"offsetgroup\": \"\", \"orientation\": \"v\", \"showlegend\": false, \"type\": \"box\", \"x\": [\"two\", \"two\", \"two\", \"four\", \"four\", \"two\", \"four\", \"four\", \"four\", \"two\", \"four\", \"two\", \"four\", \"four\", \"four\", \"two\", \"four\", \"two\", \"two\", \"four\", \"two\", \"two\", \"two\", \"four\", \"four\", \"four\", \"two\", \"four\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"four\", \"four\", \"two\", \"two\", \"four\", \"four\", \"four\", \"two\", \"four\", \"two\", \"four\", \"four\", \"two\", \"two\", \"two\", \"two\", \"four\", \"four\", \"two\", \"two\", \"two\", \"two\", \"two\", \"four\", \"two\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"two\", \"four\", \"four\", \"two\", \"four\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"four\", \"four\", \"four\", \"four\", \"two\", \"two\", \"two\", \"four\", \"four\", \"two\", \"two\", \"four\", \"four\", \"two\", \"four\", \"four\", \"four\", \"four\", \"four\", \"two\", \"two\", \"two\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"two\", \"two\", \"four\", \"four\", \"four\", \"four\", \"two\", \"two\", \"two\", \"two\", \"two\", \"four\", \"two\", \"two\", \"four\", \"two\", \"four\", \"two\", \"four\", \"two\", \"two\", \"two\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"two\", \"two\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"four\", \"four\", \"four\", \"four\", \"four\", \"two\", \"two\", \"four\", \"four\", \"two\", \"two\", \"four\", \"four\", \"four\", \"four\", \"four\", \"two\", \"two\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\"], \"x0\": \" \", \"xaxis\": \"x\", \"y\": [111, 111, 154, 102, 115, 110, 110, 110, 140, 101, 101, 121, 121, 121, 182, 182, 182, 48, 70, 70, 68, 68, 102, 68, 68, 68, 102, 88, 145, 58, 76, 60, 76, 76, 76, 76, 86, 86, 86, 86, 101, 100, 78, 90, 176, 176, 262, 68, 68, 68, 68, 68, 101, 101, 101, 135, 84, 84, 84, 84, 64, 84, 120, 72, 123, 123, 123, 123, 155, 155, 184, 184, 175, 68, 68, 68, 102, 116, 88, 145, 145, 145, 88, 88, 116, 116, 69, 55, 69, 69, 69, 69, 69, 69, 69, 69, 97, 97, 152, 152, 152, 160, 200, 160, 97, 95, 97, 95, 95, 95, 95, 95, 97, 95, 142, 68, 102, 68, 68, 68, 88, 145, 143, 207, 207, 207, 90, 90, 110, 110, 110, 110, 160, 160, 69, 73, 73, 82, 82, 94, 82, 111, 82, 94, 82, 111, 62, 62, 62, 62, 62, 62, 70, 70, 56, 56, 70, 70, 70, 70, 70, 112, 112, 116, 116, 116, 116, 116, 116, 92, 73, 92, 92, 92, 161, 161, 156, 156, 52, 85, 52, 85, 85, 68, 100, 90, 90, 110, 68, 88, 114, 114, 114, 114, 162, 162, 114, 160, 134, 106, 114], \"y0\": \" \", \"yaxis\": \"y\"}],\n",
" {\"boxmode\": \"group\", \"legend\": {\"tracegroupgap\": 0}, \"margin\": {\"t\": 60}, \"template\": {\"data\": {\"bar\": [{\"error_x\": {\"color\": \"#2a3f5f\"}, \"error_y\": {\"color\": \"#2a3f5f\"}, \"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}}, \"type\": \"bar\"}], \"barpolar\": [{\"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}}, \"type\": \"barpolar\"}], \"carpet\": [{\"aaxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"baxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"type\": \"carpet\"}], \"choropleth\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"choropleth\"}], \"contour\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"contour\"}], \"contourcarpet\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"contourcarpet\"}], \"heatmap\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"heatmap\"}], \"heatmapgl\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"heatmapgl\"}], \"histogram\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"histogram\"}], \"histogram2d\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"histogram2d\"}], \"histogram2dcontour\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"histogram2dcontour\"}], \"mesh3d\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"mesh3d\"}], \"parcoords\": [{\"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"parcoords\"}], \"pie\": [{\"automargin\": true, \"type\": \"pie\"}], \"scatter\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatter\"}], \"scatter3d\": [{\"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatter3d\"}], \"scattercarpet\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattercarpet\"}], \"scattergeo\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattergeo\"}], \"scattergl\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattergl\"}], \"scattermapbox\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattermapbox\"}], \"scatterpolar\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterpolar\"}], \"scatterpolargl\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterpolargl\"}], \"scatterternary\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterternary\"}], \"surface\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"surface\"}], \"table\": [{\"cells\": {\"fill\": {\"color\": \"#EBF0F8\"}, \"line\": {\"color\": \"white\"}}, \"header\": {\"fill\": {\"color\": \"#C8D4E3\"}, \"line\": {\"color\": \"white\"}}, \"type\": \"table\"}]}, \"layout\": {\"annotationdefaults\": {\"arrowcolor\": \"#2a3f5f\", \"arrowhead\": 0, \"arrowwidth\": 1}, \"coloraxis\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"colorscale\": {\"diverging\": [[0, \"#8e0152\"], [0.1, \"#c51b7d\"], [0.2, \"#de77ae\"], [0.3, \"#f1b6da\"], [0.4, \"#fde0ef\"], [0.5, \"#f7f7f7\"], [0.6, \"#e6f5d0\"], [0.7, \"#b8e186\"], [0.8, \"#7fbc41\"], [0.9, \"#4d9221\"], [1, \"#276419\"]], \"sequential\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"sequentialminus\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}, \"colorway\": [\"#636efa\", \"#EF553B\", \"#00cc96\", \"#ab63fa\", \"#FFA15A\", \"#19d3f3\", \"#FF6692\", \"#B6E880\", \"#FF97FF\", \"#FECB52\"], \"font\": {\"color\": \"#2a3f5f\"}, \"geo\": {\"bgcolor\": \"white\", \"lakecolor\": \"white\", \"landcolor\": \"#E5ECF6\", \"showlakes\": true, \"showland\": true, \"subunitcolor\": \"white\"}, \"hoverlabel\": {\"align\": \"left\"}, \"hovermode\": \"closest\", \"mapbox\": {\"style\": \"light\"}, \"paper_bgcolor\": \"white\", \"plot_bgcolor\": \"#E5ECF6\", \"polar\": {\"angularaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"bgcolor\": \"#E5ECF6\", \"radialaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"scene\": {\"xaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}, \"yaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}, \"zaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}}, \"shapedefaults\": {\"line\": {\"color\": \"#2a3f5f\"}}, \"ternary\": {\"aaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"baxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"bgcolor\": \"#E5ECF6\", \"caxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"title\": {\"x\": 0.05}, \"xaxis\": {\"automargin\": true, \"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"zerolinewidth\": 2}, \"yaxis\": {\"automargin\": true, \"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"zerolinewidth\": 2}}}, \"xaxis\": {\"anchor\": \"y\", \"domain\": [0.0, 1.0], \"title\": {\"text\": \"number_of_doors\"}}, \"yaxis\": {\"anchor\": \"x\", \"domain\": [0.0, 1.0], \"title\": {\"text\": \"horsepower\"}}},\n",
" {\"responsive\": true}\n",
" ).then(function(){\n",
" \n",
"var gd = document.getElementById('d9e96670-5a4c-46bf-aebd-0c45c406c5ee');\n",
"var x = new MutationObserver(function (mutations, observer) {{\n",
" var display = window.getComputedStyle(gd).display;\n",
" if (!display || display === 'none') {{\n",
" console.log([gd, 'removed!']);\n",
" Plotly.purge(gd);\n",
" observer.disconnect();\n",
" }}\n",
"}});\n",
"\n",
"// Listen for the removal of the full notebook cells\n",
"var notebookContainer = gd.closest('#notebook-container');\n",
"if (notebookContainer) {{\n",
" x.observe(notebookContainer, {childList: true});\n",
"}}\n",
"\n",
"// Listen for the clearing of the current output cell\n",
"var outputEl = gd.closest('.output');\n",
"if (outputEl) {{\n",
" x.observe(outputEl, {childList: true});\n",
"}}\n",
"\n",
" })\n",
" };\n",
" });\n",
" </script>\n",
" </div>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = px.box(auto, x=\"number_of_doors\", y=\"horsepower\")\n",
"fig.show()"
]
},
{
"cell_type": "markdown",
"execution_count": null,
"metadata": {},
"source": [
"Now if we look at this basic two box plots from Seaboen and Plotly Express, I found below comparison points:\n",
"\n",
"Seaborn: default plot is too small (not interactive).\n",
"\n",
"Plotly Express: default plot is too big (interactive). \n",
"\n",
"Let’s resize both plots and add some styling and then let’s see how many extra code lines added by each library."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAjYAAAGQCAYAAAC9GypbAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nO3deVxVdeL/8fflKi4YoCCG5F4gLriLJmlhjkugaTPjDOUCaf7UtGWwGMe0yTRx3HLLahwTlzJHG5NKpxyzSCWX1Aq3KSVRUkHZUgMv5/eHX+6IIHIVuHh8PR+PHs09n3POfV8d8u3nfM65FsMwDAEAAJiAi7MDAAAAlBWKDQAAMA2KDQAAMA2KDQAAMA2KDQAAMA2KDQAAMA2KDYBCYmJiFBAQoJSUFGdHQSmEhoYqNDTU2TGASqOKswMAdzKbzaZ169bpww8/1JEjR/TLL7/I3d1d3t7eCgoKUmhoqHr27OnsmLe19evX689//nOR7TVr1lTjxo3Vu3dvDRs2TDVq1HBCuqKGDBmir7/+utC2mjVrqkmTJvrNb36j4cOHq3r16mX6nikpKerZs6cGDhyoGTNmlOm5gYpGsQGcxGazadSoUfryyy/l7u6uHj166O6771ZmZqZ++uknxcfH68cff6TYlJHmzZvr4YcfliTl5+crLS1NW7du1dy5c/Xll18qLi5OVqvVySn/Z+DAgfLz85NhGPr555/16aefau7cudqyZYtWr16tqlWrOjsiUClRbAAniY+P15dffqnmzZtr5cqVuuuuuwqNX7x4Ufv373dSOvMJDAzUuHHjCm3LyspS//79tXv3bu3evVvBwcFOSlfUwIEDC+V59tlnNXDgQB04cEDx8fEaOHCgE9MBlRdrbAAn+eabbyRd+QPs2lIjSTVq1FCXLl2KPTY+Pl5DhgxRp06d1Lp1a/Xt21eLFy9Wbm5ukX0/++wzRUdHq3fv3mrbtq3atWunQYMGKS4uTvn5+dfNZxiGli1bpj59+qh169bq3r27pk+frpycnGL3/+677zRu3Dh17dpVrVq10kMPPaSXX35ZZ86cKbJvwTqeEydOaMWKFQoPD1dQUJCGDBlSaDwlJUXvvfeewsPD1bp1a91///166aWXlJ2dfd3cjnB3d1fr1q0lSefOnSsyfvz4cb3wwgt64IEH1KpVK4WEhOiFF17Q8ePHC+03ZswYBQQEaMWKFUXOMW/ePAUEBOgvf/nLLWX18fFRr169JEkHDhy44f65ubl66623FB4erjZt2qh9+/aKiIjQxx9/XGi/BQsW2GcFP/jgAwUEBNj/Wb9+/S1lBpyBGRvASTw9PSWpyB+SNzJx4kStW7dOd999t3r16iV3d3ft27dPr7/+unbs2KFly5apSpX//WjPmjVLLi4uCgoKUr169ZSdna2dO3dq2rRp+vbbb/W3v/2t2PeZPn26du/erb59++quu+5SQkKCli9frt27d+vdd99VtWrV7Ptu3brVPhvSu3dv1a9fX99//73effddbdmyRe+++67uueeeIu8xbdo07d69Wz169FCPHj2KXAr629/+poSEBD300EPq1q2bEhMT9f777ys5OVlxcXEO/boVJzs7W99++61cXFzUokWLQmMHDhxQZGSkfvnlF4WGhuree+/Vjz/+qI0bN2rLli1655137KVo+vTpGjhwoGbOnKkOHTrYz7Vjxw69+eabuvfeezVp0qRbzlvw1X4Wi6XE/XJzc/Xkk0/q66+/VtOmTRUREaFLly5p8+bNeu6553To0CE9//zzkqTOnTtr6NChiouLK3S5TroyywXcdgwATvH9998bLVu2NAICAozo6Ghj8+bNRkpKSonHrFu3zvD39zfGjh1rXLx4sdDY/PnzDX9/f+Odd94ptD05ObnIeWw2m/HCCy8Y/v7+xr59+wqNvfjii4a/v7/RuXPnQnlsNpvx9NNPG/7+/sbChQvt23NycozOnTsbzZs3N3bt2lXoXG+++abh7+9vREZGFvseISEhxk8//VQkX8F4jx49jJMnT9q35+XlGREREYa/v7+xf//+6/0yFVLwa9a/f39j/vz5xvz584158+YZL730khESEmK0bdvWWLlyZaFj8vPzjT59+hj+/v7Ghg0bCo199NFHhr+/v9G7d2/DZrPZt+/Zs8do0aKF8Zvf/MbIyckx0tLSjG7duhlBQUHGkSNHSpXVMAzjiSeeMPz9/Y2dO3cW2n769Gmja9euhr+/v/HBBx/Ytz/00EPGQw89VGjfJUuWGP7+/saIESOMvLw8+/a0tDTjoYceMvz9/Y09e/bYt584ccLw9/c3XnzxxVLnBCorLkUBTtKiRQvNnDlT3t7e+vDDDzVu3DiFhoYqODhYY8eO1X/+858ix8TFxalKlSqaPn16kTtjxowZI09PT23cuLHQ9oYNGxY5j4uLi4YOHSpJ+vLLL4vNN3ToUPn5+RU65oUXXpCLi4vWrVtn375lyxZlZGSoX79+6tixY6FzREVFyc/PT1999ZVOnTpV5D1GjBihBg0aFPv+kjR27FjVr1/f/rpKlSoaNGiQpNJdjrnaoUOHtHDhQi1cuFCLFy/WmjVrdObMGYWGhha55Ld37179+OOPateunfr3719orF+/furQoYOOHTumPXv22Le3b99ezzzzjI4fP67JkydrwoQJOnv2rCZNmqT77rvPoazSlctCCxYs0Pz58zVx4kQ98sgjSk9PV1BQkB555JESj123bp0sFotiYmIKzd55eXlp9OjRkqS1a9c6nAm4HXApCnCifv36qVevXkpMTNSePXt08OBB7dmzR5999pk+++wzPfroo5oxY4YsFosuXryoQ4cOqXbt2lq+fHmx53N1ddUPP/xQaNv58+e1dOlSbdu2TSkpKbpw4UKh8eLWwEhXLlFcq0GDBvL19dXJkyeVlZUld3d3JSUlSVKx64GqVKmiTp066eTJk0pKSipUUiQpKCjo+r84klq1alVkm6+vryQpMzOzxGOvde2tzGlpadq+fbumTZumrVu3asWKFWrZsqUk2T/T9RYTd+nSRXv27FFSUpI6depk3z5y5EglJiYqPj5ekhQWFqbf/e53DuUs8MEHH9j/d82aNdWoUSNFRkYqMjKyxDuicnJylJycrHr16qlZs2bFZpekgwcP3lQuoLKj2ABOVrVqVYWEhCgkJETSldvAN2/erL/85S/617/+pV69eunhhx9WVlaWDMPQuXPntHDhwlKdOysrS7/97W+VkpKioKAgDRgwQB4eHqpSpYqysrIUFxdX7IJj6crf7ovj7e2tkydPKjs7W+7u7vaFvHXr1i12/4LtxS349fb2LjF/cYuqC9bhlLTwuTS8vb3Vv39//frrr5o0aZLmzJmjpUuXFsrq4+NT7LHX+0wWi0W9evVSQkKCJGnYsGE3nS8uLu6m7tIqWNx9vd+Pgs+UlZV109mAyoxiA1QyVqtV/fr105EjR/TGG29o586devjhh1WrVi1JVy5hXf23+ZKsXbtWKSkpevrpp4vc6vzNN9+UuAA3PT1dTZs2LbI9LS1N0v9KR8G/z549W+x5CrYXV1Ju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x7gl/KwDN1beP+suLpYSJyucfru3l5eXAgMDFR8fL0mKj49XYGCg6tSpU+IYAADAtSp0xubVV1/Vv//9b6WlpSkyMlKenp766KOP9PLLLysmJkaLFy+Wu7u7YmNj7ceUNAYAAHC1Ci02kyZN0qRJk4psb9asmdauXVvsMSWNAQAAXM3pl6IAAADKCsUGAACYhtPvigKA20VmZobO51zWsgPnnB0FqJR+zrms2pkZTs3AjA0AADANZmwAoJQ8PDxV7WKaIoN45ARQnGUHzqm6h6dTMzBjAwAATINiAwAATINiAwAATINiAwAATINiAwAATINiAwAATINiAwAATINiAwAATINiAwAATINiAwAATINiAwAATINiAwAATINiAwAATINiAwAATINiAwAATINiAwAATINiAwAATINiAwAATINiAwAATINiAwAATINiAwAATINiAwAATINiAwAATINiAwAATINiAwAATINiAwAATINiAwAATINiAwAATKOKswMAwO3k55zLWnbgnLNjQFJObr4kqZYrf0evLH7OuazGTs5AsQGAUmrQoJGzI+AqZ35KliR5383vS2XRWM7/OaHYAEApRUQMdXYEXCU2dqok6cUXX3JyElQmzN8BAADTYMamjNguZehC8hZnx4Ck/MuXJEkuVao7OQkK2C5lSPJ2dgwAdwCKTRlw9vVEFPbT/113b9iAP0grD29+TgBUCIpNGeC6e+XCdXcAuHOxxgYAAJgGxQYAAJgGxQYAAJgGxQYAAJgGxQYAAJgGxQYAAJgGxQYAAJgGxQYAAJgGxQYAAJgGxQYAAJgGxQYAAJgGxQYAAJgGxQYAAJgGxQYAAJgGxQYAAJgGxQYAAJgGxQYAAJgGxQYAAJgGxQYAAJgGxQYAAJgGxQYAAJhGFWcHuFpoaKhcXV1VrVo1SVJ0dLQeeOABHTt2TDExMcrIyJCnp6diY2PVuHFj54YFgNvUV199oYSEbc6Occt++ilZkhQbO9XJScpGSEgPdevW3dkxbnuVqthI0vz58+Xv719o25QpUxQREaEBAwZow4YNmjx5suLi4pyUEABQGXh4eDg7AiqhSldsrpWenq6kpCQtW7ZMkhQWFqapU6fq3LlzqlOnjpPTAcDtp1u37swMwLQqXbGJjo6WYRjq0KGDnn/+eaWmpqpevXqyWq2SJKvVKh8fH6WmplJsAABAIZWq2KxatUq+vr7Kzc3VtGnT9Morr2j48OFlcm4vr1plch5UflWrXinBdeve5eQkAICKZjEMw3B2iOIcPnxYo0eP1tq1a9W7d28lJibKarXKZrMpODhY//73vx2asUlPz1F+fqX8qJWG2RYUNmzYyMlJbh2LCQGgMBcXS4mTFZXmdu8LFy4oOztbkmQYhj7++GMFBgbKy8tLgYGBio+PlyTFx8crMDCQy1C4Lg8PDxYVAsAdqtLM2Jw4cULjxo2TzWZTfn6+mjVrpkmTJsnHx0c//PCDYmJilJWVJXd3d8XGxqpp06YOnZ8ZGwAAbn83mrGpNMWmvFFsAAC4/d02l6IAAABuFcUGAACYBsUGAACYBsUGAACYBsUGAACYBsUGAACYBsUGAACYBsUGAACYBsUGAACYBsUGAACYBsUGAACYRhVnB6goLi4WZ0cAAAC36EZ/nt8xX4IJAADMj0tRAADANCg2AADANCg2AADANCg2AADANCg2AADANCg2AADANCg2AADANCg2AADANCg2AADANCg2uO0sWLBAubm5zo4BoJx99tln6tu3rx599FH9+OOPzo6D2wRfqYDbTkBAgPbu3Ss3NzdnRwFQjkaMGKHHHntMffv2LZPz2Ww2Wa3WMjkXKi9mbHBb+etf/ypJ+sMf/qBevXqpRYsWstlskqR+/frZxw8cOKA//OEPkqS0tDSNHTtW4eHhCg8P17/+9S/nhAdQatOnT9eePXs0a9YsDRkyRF988YUeffRRhYeHa9iwYUpOTpYkrV+/XuPHj7cfd/Xr9evX68knn9SECRM0aNAgHTlyxCmfBRXrjvl2b5jDlClTtHr1ar333ntyc3PTH//4R3377beqX7++qlevrj179kiSduzYoS5dukiSXn31Vd13331atGiRzpw5o0GDBqlFixby9/d35kcBUIKJEyfq4MGDioqKUlBQkB555BGtXLlS9957r9auXavo6GitXbv2hufZu3evNmzYoIYNG1ZAalQGzNjgttalSxdt375d27dvV2hoqDw8PPTzzz9r+/bt6tq1q6QrJadg9sbHx0c9evRQYmKiM2MDcMD+/fvVvHlz3XvvvZKkxx57TAcPHlROTs4Nj23fvj2l5g7DjA1ua127dtWCBQvk5+en3/72t7JYLPr888918OBBtWvXzr6fxWIpdNy1rwFUXoZhXPdn1mq1Kj8/3/76119/LTTOWrw7DzM2uO24ubnZ/6bWtm1bHT58WN98843atGmj+++/X2+99ZZatmwpV1dXSVfKz5o1ayRJZ8+e1bZt2xQcHOy0/AAc065dOx08eFA//PCDJOmDDz5QixYtVKtWLTVs2FCHDx9Wbm6ucnNztXnzZienhbMxY4PbTlRUlIYOHarq1atrxYoVat26taxWq6pWrarWrVsrMzPTvr5GkiZNmqTJkycrPDxckhQdHa377rvPWfEBOKhOnTqaOXOmoqOjdfnyZdWpU0d/+9vfJF0pPV27dlVYWJjuueceNWvWTGfPnnVyYjgTt3sDAADT4FIUAAAwDYoNAAAwDYoNAAAwDYoNAAAwDYoNAAAwDYoNgCLWr1+vgIAAdezYUZmZmYXGLl++rICAAC1YsKBCM+Xn52vatGkKCQlR8+bNNWbMmOvuGxoaqoCAAAUEBKhFixYKDg7W7373O82aNUspKSkVmBpAReM5NgCuKzs7W2+//baio6OdHUWbNm1SXFycYmJi1LZtW3l6epa4f0hIiMaNGyfDMJSVlaWkpCStXbtWq1at0syZM9WrV68KSg6gIjFjA+C6QkJCtHLlykrxwLMff/xRkjRs2DC1a9dOTZo0KXH/2rVrq23btmrXrp169Oih0aNHa+PGjQoICFB0dLR+/vnniogtScrLyxOPDAMqBsUGwHWNHj1akrRkyZIb7nvgwAENHz5c7dq1U9u2bTVs2DAdOHCgVO/zxRdfaPDgwQoKClKHDh00ZswYe5GRrlxaKrj0FRgYqICAAK1fv97hz+Pm5qaXX35Zly5d0nvvvVdobMOGDerfv79at26t4OBgTZgwQWfOnCm0T15enubOnavQ0FC1atVKoaGhmjt3rvLy8uz7pKSkKCAgwD4zFBISotatWysrK0tnz57Viy++qJCQELVq1UohISEaNWqU0tPTHf4sAIrHpSgA11W3bl09/vjjWr58uaKiouTn51fsfocOHdITTzyhe++9V6+99posFoveeustPfHEE3r//ffVvHnz677HF198oVGjRqlLly6aO3euLly4oPnz5ysiIkIbNmxQvXr1tHDhQq1YsULr16+3f+/XzX5jc/PmzeXj46O9e/fat61Zs0aTJ09Wv3799Kc//UlnzpzRnDlzdODAAa1fv97+RYoxMTH65JNPNGrUKHXo0EH79u3TG2+8oZSUFM2ePbvQ+yxZskStW7fW1KlTZbPZVK1aNT377LM6deqUXnjhBfn6+iotLU07duzQxYsXb+qzACiKYgOgRCNHjtSaNWu0cOFCvfbaa8Xus3jxYrm6uuqdd96Ru7u7JKlbt24KDQ3VwoULtXDhwuuef968eWrQoIHefvttValy5T9Jbdu2VZ8+ffSPf/xDf/7zn9WiRQv5+PjYx25V/fr17ZfXbDabXn/9dXXu3Flz586179OkSRM9/vjjWrdunYYOHaojR44oPj5eTz/9tMaNGyfpyqU6FxcXvf766xo5cmShAuft7a1FixYV+lbqffv26bnnnlP//v3t2/r27XvLnwfA/3ApCkCJPD09FRkZqQ0bNhS6PHS1Xbt26cEHH7SXGkmqVauWQkNDtWvXruue+8KFC0pKSlLfvn3tpUaSGjRooPbt25d47K0wDMNeOI4dO6b09PRCZUOSOnbsKD8/P3uGgn9fu1/B62uz9uzZs1CpkaRWrVpp6dKlWr58uQ4fPsy6G6AcUGwA3NDw4cPl4eGh+fPnFzuemZmpunXrFtnu7e1d5Hbxq2VlZckwDPtszLXHZmRk3HzoEqSmptrzFrzH9fIXjBd8jmv3K3h97ecs7jPNmzdPoaGh+vvf/67+/fvrgQce0MKFC5Wfn3+LnwhAAYoNgBtyc3PTqFGjtGnTJh08eLDIuIeHh9LS0opsT0tLk4eHx3XP6+7uLovFUuxdV2lpaTe8pftmHDx4UGfOnFGHDh0kyf4e18tQu3ZtSbJ/jms/Z8Fx12a9drZGkry8vDRlyhR9+eWX+uSTTzRo0CAtWLCgyEJmADePYgOgVCIiIlSvXj3NmzevyFinTp20bds25eTk2Lfl5ORo69at6ty583XPWbNmTbVs2VKbNm2SzWazbz958qS++eabEo+9Gb/88ov++te/qkaNGho8eLCkK2tpvL299fHHHxfad+/evTp58qQ6deokSfYsH330UaH9Nm7cKOnKpStHNG3aVM8//7w8PDx09OjRm/o8AIpi8TCAUnF1ddXYsWP10ksvFRkbM2aMPv/8cw0fPlwjR46UxWLR22+/rYsXL2rs2LElnveZZ57RqFGjNGrUKEVEROjChQtasGCBatWqpcjIyJvOe/78ee3bt0+GYSg7O1tJSUl6//33df78ec2ePVv16tWTJFmtVo0fP16TJ09WdHS0+vfvr9OnT2vevHlq3LixBg0aJEm67777FBYWpoULF8pms6ldu3b65ptv9MYbbygsLKzEO7+kKw87HD58uMLDw9W0aVNVrVpVW7ZsUWZmprp163bTnxNAYRQbAKU2aNAgLV26VMePHy+0vXnz5lqxYoXmzp2rmJgYGYahNm3aaOXKlTf8A7979+568803tWjRIj377LOqWrWqOnfurAkTJtjLx81ISEhQQkKCXFxcVKtWLTVs2FD9+vXTH//4xyK3rQ8ePFjVq1fX0qVLNWbMGLm5ual79+6aMGGC/VZvSZoxY4buuecerVu3Tm+88YZ8fHw0YsQIPf300zfMU61aNbVs2VJr167VqVOnZLFY1KRJE82aNUsPP/zwTX9OAIVZDJblAwAAk2CNDQAAMA2KDQAAMA2KDQAAMA2KDQAAMA2KDQAAMA2KDQAAMA2KDQAAMA2KDQAAMA2KDQAAMI3/D2LdxgLPpcnWAAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 648x432 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sns.set(font=\"Verdana\") ## Global font type , this will apply for all seaborn plots\n",
"plt.figure(figsize=(9,6)) ## Changing the Figure Size \n",
"box=sns.boxplot(auto['number_of_doors'], auto['horsepower']) # Define the plot with variables \n",
"box.axes.set_title(\"Seaborn Box Plot\",fontsize=20) # Set the Tittle for the defined plot\n",
"box.set_xlabel(\"No of Doors\",fontsize=16) # Set the x-axis Label and fornt size\n",
"box.set_ylabel(\"Horsepower\",fontsize=16); # Set the y-axis Label and fornt size"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
" \n",
" \n",
" <div id=\"580529ac-06dd-4ad2-a1fc-8f0aceb34f66\" class=\"plotly-graph-div\" style=\"height:500px; width:700px;\"></div>\n",
" <script type=\"text/javascript\">\n",
" require([\"plotly\"], function(Plotly) {\n",
" window.PLOTLYENV=window.PLOTLYENV || {};\n",
" \n",
" if (document.getElementById(\"580529ac-06dd-4ad2-a1fc-8f0aceb34f66\")) {\n",
" Plotly.newPlot(\n",
" '580529ac-06dd-4ad2-a1fc-8f0aceb34f66',\n",
" [{\"alignmentgroup\": \"True\", \"hovertemplate\": \"No of Doors=%{x}<br>Horsepower=%{y}<extra></extra>\", \"legendgroup\": \"\", \"marker\": {\"color\": \"#636efa\"}, \"name\": \"\", \"notched\": false, \"offsetgroup\": \"\", \"orientation\": \"v\", \"showlegend\": false, \"type\": \"box\", \"x\": [\"two\", \"two\", \"two\", \"four\", \"four\", \"two\", \"four\", \"four\", \"four\", \"two\", \"four\", \"two\", \"four\", \"four\", \"four\", \"two\", \"four\", \"two\", \"two\", \"four\", \"two\", \"two\", \"two\", \"four\", \"four\", \"four\", \"two\", \"four\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"four\", \"four\", \"two\", \"two\", \"four\", \"four\", \"four\", \"two\", \"four\", \"two\", \"four\", \"four\", \"two\", \"two\", \"two\", \"two\", \"four\", \"four\", \"two\", \"two\", \"two\", \"two\", \"two\", \"four\", \"two\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"two\", \"four\", \"four\", \"two\", \"four\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"four\", \"four\", \"four\", \"four\", \"two\", \"two\", \"two\", \"four\", \"four\", \"two\", \"two\", \"four\", \"four\", \"two\", \"four\", \"four\", \"four\", \"four\", \"four\", \"two\", \"two\", \"two\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"two\", \"two\", \"four\", \"four\", \"four\", \"four\", \"two\", \"two\", \"two\", \"two\", \"two\", \"four\", \"two\", \"two\", \"four\", \"two\", \"four\", \"two\", \"four\", \"two\", \"two\", \"two\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"two\", \"two\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"four\", \"four\", \"four\", \"four\", \"four\", \"two\", \"two\", \"four\", \"four\", \"two\", \"two\", \"four\", \"four\", \"four\", \"four\", \"four\", \"two\", \"two\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\"], \"x0\": \" \", \"xaxis\": \"x\", \"y\": [111, 111, 154, 102, 115, 110, 110, 110, 140, 101, 101, 121, 121, 121, 182, 182, 182, 48, 70, 70, 68, 68, 102, 68, 68, 68, 102, 88, 145, 58, 76, 60, 76, 76, 76, 76, 86, 86, 86, 86, 101, 100, 78, 90, 176, 176, 262, 68, 68, 68, 68, 68, 101, 101, 101, 135, 84, 84, 84, 84, 64, 84, 120, 72, 123, 123, 123, 123, 155, 155, 184, 184, 175, 68, 68, 68, 102, 116, 88, 145, 145, 145, 88, 88, 116, 116, 69, 55, 69, 69, 69, 69, 69, 69, 69, 69, 97, 97, 152, 152, 152, 160, 200, 160, 97, 95, 97, 95, 95, 95, 95, 95, 97, 95, 142, 68, 102, 68, 68, 68, 88, 145, 143, 207, 207, 207, 90, 90, 110, 110, 110, 110, 160, 160, 69, 73, 73, 82, 82, 94, 82, 111, 82, 94, 82, 111, 62, 62, 62, 62, 62, 62, 70, 70, 56, 56, 70, 70, 70, 70, 70, 112, 112, 116, 116, 116, 116, 116, 116, 92, 73, 92, 92, 92, 161, 161, 156, 156, 52, 85, 52, 85, 85, 68, 100, 90, 90, 110, 68, 88, 114, 114, 114, 114, 162, 162, 114, 160, 134, 106, 114], \"y0\": \" \", \"yaxis\": \"y\"}],\n",
" {\"boxmode\": \"group\", \"font\": {\"color\": \"black\", \"family\": \"Courier New\", \"size\": 16}, \"height\": 500, \"legend\": {\"tracegroupgap\": 0}, \"template\": {\"data\": {\"bar\": [{\"error_x\": {\"color\": \"#2a3f5f\"}, \"error_y\": {\"color\": \"#2a3f5f\"}, \"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}}, \"type\": \"bar\"}], \"barpolar\": [{\"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}}, \"type\": \"barpolar\"}], \"carpet\": [{\"aaxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"baxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"type\": \"carpet\"}], \"choropleth\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"choropleth\"}], \"contour\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"contour\"}], \"contourcarpet\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"contourcarpet\"}], \"heatmap\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"heatmap\"}], \"heatmapgl\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"heatmapgl\"}], \"histogram\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"histogram\"}], \"histogram2d\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"histogram2d\"}], \"histogram2dcontour\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"histogram2dcontour\"}], \"mesh3d\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"mesh3d\"}], \"parcoords\": [{\"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"parcoords\"}], \"pie\": [{\"automargin\": true, \"type\": \"pie\"}], \"scatter\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatter\"}], \"scatter3d\": [{\"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatter3d\"}], \"scattercarpet\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattercarpet\"}], \"scattergeo\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattergeo\"}], \"scattergl\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattergl\"}], \"scattermapbox\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattermapbox\"}], \"scatterpolar\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterpolar\"}], \"scatterpolargl\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterpolargl\"}], \"scatterternary\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterternary\"}], \"surface\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"surface\"}], \"table\": [{\"cells\": {\"fill\": {\"color\": \"#EBF0F8\"}, \"line\": {\"color\": \"white\"}}, \"header\": {\"fill\": {\"color\": \"#C8D4E3\"}, \"line\": {\"color\": \"white\"}}, \"type\": \"table\"}]}, \"layout\": {\"annotationdefaults\": {\"arrowcolor\": \"#2a3f5f\", \"arrowhead\": 0, \"arrowwidth\": 1}, \"coloraxis\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"colorscale\": {\"diverging\": [[0, \"#8e0152\"], [0.1, \"#c51b7d\"], [0.2, \"#de77ae\"], [0.3, \"#f1b6da\"], [0.4, \"#fde0ef\"], [0.5, \"#f7f7f7\"], [0.6, \"#e6f5d0\"], [0.7, \"#b8e186\"], [0.8, \"#7fbc41\"], [0.9, \"#4d9221\"], [1, \"#276419\"]], \"sequential\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"sequentialminus\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}, \"colorway\": [\"#636efa\", \"#EF553B\", \"#00cc96\", \"#ab63fa\", \"#FFA15A\", \"#19d3f3\", \"#FF6692\", \"#B6E880\", \"#FF97FF\", \"#FECB52\"], \"font\": {\"color\": \"#2a3f5f\"}, \"geo\": {\"bgcolor\": \"white\", \"lakecolor\": \"white\", \"landcolor\": \"#E5ECF6\", \"showlakes\": true, \"showland\": true, \"subunitcolor\": \"white\"}, \"hoverlabel\": {\"align\": \"left\"}, \"hovermode\": \"closest\", \"mapbox\": {\"style\": \"light\"}, \"paper_bgcolor\": \"white\", \"plot_bgcolor\": \"#E5ECF6\", \"polar\": {\"angularaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"bgcolor\": \"#E5ECF6\", \"radialaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"scene\": {\"xaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}, \"yaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}, \"zaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}}, \"shapedefaults\": {\"line\": {\"color\": \"#2a3f5f\"}}, \"ternary\": {\"aaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"baxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"bgcolor\": \"#E5ECF6\", \"caxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"title\": {\"x\": 0.05}, \"xaxis\": {\"automargin\": true, \"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"zerolinewidth\": 2}, \"yaxis\": {\"automargin\": true, \"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"zerolinewidth\": 2}}}, \"title\": {\"font\": {\"color\": \"green\", \"family\": \"Times New Roman\", \"size\": 26}, \"text\": \"Plotly Express Box Plot\", \"x\": 0.5, \"y\": 0.9}, \"width\": 700, \"xaxis\": {\"anchor\": \"y\", \"domain\": [0.0, 1.0], \"title\": {\"text\": \"No of Doors\"}}, \"yaxis\": {\"anchor\": \"x\", \"domain\": [0.0, 1.0], \"title\": {\"text\": \"Horsepower\"}}},\n",
" {\"responsive\": true}\n",
" ).then(function(){\n",
" \n",
"var gd = document.getElementById('580529ac-06dd-4ad2-a1fc-8f0aceb34f66');\n",
"var x = new MutationObserver(function (mutations, observer) {{\n",
" var display = window.getComputedStyle(gd).display;\n",
" if (!display || display === 'none') {{\n",
" console.log([gd, 'removed!']);\n",
" Plotly.purge(gd);\n",
" observer.disconnect();\n",
" }}\n",
"}});\n",
"\n",
"// Listen for the removal of the full notebook cells\n",
"var notebookContainer = gd.closest('#notebook-container');\n",
"if (notebookContainer) {{\n",
" x.observe(notebookContainer, {childList: true});\n",
"}}\n",
"\n",
"// Listen for the clearing of the current output cell\n",
"var outputEl = gd.closest('.output');\n",
"if (outputEl) {{\n",
" x.observe(outputEl, {childList: true});\n",
"}}\n",
"\n",
" })\n",
" };\n",
" });\n",
" </script>\n",
" </div>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Defining the plot with Size and Title text \n",
"fig = px.box(auto, x=\"number_of_doors\", y=\"horsepower\",width=700, height=500,title='Plotly Express Box Plot',labels={\"horsepower\": \"Horsepower\", \"number_of_doors\": \"No of Doors\"}) \n",
"fig.update_layout(font_family=\"Courier New\", # Changing Styling of the plot \n",
" font_color=\"black\",\n",
" font_size=16, \n",
" title_font_family=\"Times New Roman\",\n",
" title_font_color=\"green\",\n",
" title_font_size=26, \n",
" title={'y':0.9,'x':0.5}) # Change the Title Alignment\n",
"fig.show()"
]
},
{
"cell_type": "markdown",
"execution_count": null,
"metadata": {},
"source": [
"Pretty good ha!! Which plot do you prefer more? Here are few comparison points.\n",
"Seaboarn formatting is not well documented and difficult to find, still I was not able to find how to change Font colors easily. On the other hand Plotly Express documentation very rich in samples and there are many ways to do the same formatting. Each way has its own befits and you can style each element in the plot after few search. No of code lines has no big difference and Plotly provide the greatest advantage of interactivity. Just Move your Mouse pointer to the plot and enjoy the Intractive grapgs!\n"
]
},
{
"cell_type": "markdown",
"execution_count": null,
"metadata": {},
"source": [
"## Plotting univariate distributions\n",
"### Histogram Plot Comparison\n",
"\n",
"The most convenient way to take a quick look at a univariate distribution in seaborn is the distplot() function. By default, this will draw a histogram and fit a kernel density estimate (KDE). Here subplot option of matplotlib has used to plot two graphs in same row. \n",
"\n",
"#### Seaborn:"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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S1NeXl73pEiSkpKS9PWvf10Oh0O33XabRowYoQ8++EBlZWXat2+fHnnkETmdTuXl5WnevHlX0NsAAAAAEN6YQzKHBIBQR/EKAAYBt9vd/XtkZKRaW1vPub2qqkppaWmyWCzd13k8nnO2SUhIkN1uv+h+Zs6cqW3btmnHjh2aMWOGZs2apR07dmjHjh3Ky8uT1dr152Tz5s269957NXPmTOXl5WnLli2qr6+XJKWlpWnatGlav369Tp06pS1btvR44pGcnNz9u8vluuDy2e09v50ZGRmqqqpSVVWV4uPjFRkZeck+AAAAAIChgDkkc0gACHUUrwBgCHC73aqsrJRhGN3XlZeX9/j+M2bM0Keffqrt27drxowZmj59unbt2tU9EZG6lpV45JFH9Ld/+7faunWrdu7cqTlz5pzzmHfffbfWrFmjdevWacqUKUpLSwteI0+7WDtTU1PldrvV2Niotra2c24DAAAAAJyLOSRzSAAwG8UrABgCpkyZIpvNppUrV8rn82njxo3at29fj++fk5Mjl8ulNWvWaMaMGYqJiVFycrLWr19/zsSjo6NDSUlJstvt2rx5s7Zu3XrOfubPn6+CggK99NJLuuuuu4LaxjPq6ur00ksvqbOzU++8846OHTumuXPnKjMzU1dffbWef/55dXR0aPfu3Xr//ff7JQMAAAAAhDPmkMwhAcBsFK8AYAhwOp16/vnn9dprr2nGjBlas2aNbrjhBjmdzh7vY+bMmUpISFBGRkb3ZcMwNH78eElSTEyMHn/8cT366KOaMWOG1q5de8F64BEREbr55ptVUlKiBQsWBK+BZ5k0aZJOnjypa665Rj/5yU/0s5/9TImJiZKk5557Tp999plmzZqln/zkJ7rtttt61QcAAAAAMBQwh2QOCQBmsxhnHxcLABgy7rnnHt133336yle+MqCP+/Of/1wnTpzQc889F/R9v/HGG1q1apVeeeWVHm3/6KOPauTIkXrkkUeCngUAAAAABhPmkMwhAWAgceQVAAwR27dvV3V1tXw+n/74xz/q0KFDmj179oBmaGho0Ouvv67FixcP6OOesXfvXhUVFSkQCGjLli167733NH/+fFOyAAAAAEAoYw7JHBIAzGQ3OwAAYGAUFhb+/+3csQmEUBAE0KlCRLAlOxF+BxpZgGUYCnZlYGR8mRdcetz94L14YTddBiallNz3nb7vs65rmqb52f5t27IsS4ZheDrOk2Tf90zT9DHfdV2O4/jqDed5ZhzHXNeVtm0zz/NTWQEAAMCbH9IPCfBPagMBAAAAAACohtpAAAAAAAAAqiG8AgAAAAAAoBrCKwAAAAAAAKohvAIAAAAAAKAawisAAAAAAACqIbwCAAAAAACgGi9pRDuajO4zDAAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 2160x504 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, axs = plt.subplots(ncols = 2, figsize = (30, 7))\n",
"sns.distplot(auto['highway_mpg'],ax=axs[0],kde=False);\n",
"sns.distplot(auto['highway_mpg'],ax=axs[1]);"
]
},
{
"cell_type": "markdown",
"execution_count": null,
"metadata": {},
"source": [
"#### Plotly:\n",
"In Plotly , It is easy to format the histogram , but there is no KDE option. As Plotly is interactive graphs, bin details can be analyzed better than Seaborn.\n",
"\n",
"https://plotly.com/python/histograms/"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
" \n",
" \n",
" <div id=\"f6043550-eeb7-428c-b95a-34b7792dfeaf\" class=\"plotly-graph-div\" style=\"height:400px; width:600px;\"></div>\n",
" <script type=\"text/javascript\">\n",
" require([\"plotly\"], function(Plotly) {\n",
" window.PLOTLYENV=window.PLOTLYENV || {};\n",
" \n",
" if (document.getElementById(\"f6043550-eeb7-428c-b95a-34b7792dfeaf\")) {\n",
" Plotly.newPlot(\n",
" 'f6043550-eeb7-428c-b95a-34b7792dfeaf',\n",
" [{\"alignmentgroup\": \"True\", \"bingroup\": \"x\", \"histnorm\": \"probability density\", \"hovertemplate\": \"highway_mpg=%{x}<br>count=%{y}<extra></extra>\", \"legendgroup\": \"\", \"marker\": {\"color\": \"#636efa\"}, \"name\": \"\", \"offsetgroup\": \"\", \"orientation\": \"v\", \"showlegend\": false, \"type\": \"histogram\", \"x\": [27, 27, 26, 30, 22, 25, 25, 25, 20, 29, 29, 28, 28, 25, 22, 22, 20, 53, 43, 43, 41, 38, 30, 38, 38, 38, 30, 30, 24, 54, 38, 42, 34, 34, 34, 34, 33, 33, 33, 33, 28, 31, 29, 29, 19, 19, 17, 31, 38, 38, 38, 38, 23, 23, 23, 23, 32, 32, 32, 32, 42, 32, 27, 39, 25, 25, 25, 25, 18, 18, 16, 16, 24, 41, 38, 38, 30, 30, 32, 24, 24, 24, 32, 32, 30, 30, 37, 50, 37, 37, 37, 37, 37, 37, 37, 37, 34, 34, 22, 22, 25, 25, 23, 25, 24, 33, 24, 25, 24, 33, 24, 25, 24, 33, 24, 41, 30, 38, 38, 38, 30, 24, 27, 25, 25, 25, 31, 31, 28, 28, 28, 28, 26, 26, 36, 31, 31, 37, 33, 32, 25, 29, 32, 31, 29, 23, 39, 38, 38, 37, 32, 32, 37, 37, 36, 47, 47, 34, 34, 34, 34, 29, 29, 30, 30, 30, 30, 30, 30, 34, 33, 32, 32, 32, 24, 24, 24, 24, 46, 34, 46, 34, 34, 42, 32, 29, 29, 24, 38, 31, 28, 28, 28, 28, 22, 22, 28, 25, 23, 27, 25], \"xaxis\": \"x\", \"yaxis\": \"y\"}],\n",
" {\"barmode\": \"relative\", \"height\": 400, \"legend\": {\"tracegroupgap\": 0}, \"margin\": {\"t\": 60}, \"template\": {\"data\": {\"bar\": [{\"error_x\": {\"color\": \"#2a3f5f\"}, \"error_y\": {\"color\": \"#2a3f5f\"}, \"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}}, \"type\": \"bar\"}], \"barpolar\": [{\"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}}, \"type\": \"barpolar\"}], \"carpet\": [{\"aaxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"baxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"type\": \"carpet\"}], \"choropleth\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"choropleth\"}], \"contour\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"contour\"}], \"contourcarpet\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"contourcarpet\"}], \"heatmap\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"heatmap\"}], \"heatmapgl\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"heatmapgl\"}], \"histogram\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"histogram\"}], \"histogram2d\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"histogram2d\"}], \"histogram2dcontour\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"histogram2dcontour\"}], \"mesh3d\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"mesh3d\"}], \"parcoords\": [{\"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"parcoords\"}], \"pie\": [{\"automargin\": true, \"type\": \"pie\"}], \"scatter\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatter\"}], \"scatter3d\": [{\"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatter3d\"}], \"scattercarpet\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattercarpet\"}], \"scattergeo\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattergeo\"}], \"scattergl\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattergl\"}], \"scattermapbox\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattermapbox\"}], \"scatterpolar\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterpolar\"}], \"scatterpolargl\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterpolargl\"}], \"scatterternary\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterternary\"}], \"surface\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"surface\"}], \"table\": [{\"cells\": {\"fill\": {\"color\": \"#EBF0F8\"}, \"line\": {\"color\": \"white\"}}, \"header\": {\"fill\": {\"color\": \"#C8D4E3\"}, \"line\": {\"color\": \"white\"}}, \"type\": \"table\"}]}, \"layout\": {\"annotationdefaults\": {\"arrowcolor\": \"#2a3f5f\", \"arrowhead\": 0, \"arrowwidth\": 1}, \"coloraxis\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"colorscale\": {\"diverging\": [[0, \"#8e0152\"], [0.1, \"#c51b7d\"], [0.2, \"#de77ae\"], [0.3, \"#f1b6da\"], [0.4, \"#fde0ef\"], [0.5, \"#f7f7f7\"], [0.6, \"#e6f5d0\"], [0.7, \"#b8e186\"], [0.8, \"#7fbc41\"], [0.9, \"#4d9221\"], [1, \"#276419\"]], \"sequential\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"sequentialminus\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}, \"colorway\": [\"#636efa\", \"#EF553B\", \"#00cc96\", \"#ab63fa\", \"#FFA15A\", \"#19d3f3\", \"#FF6692\", \"#B6E880\", \"#FF97FF\", \"#FECB52\"], \"font\": {\"color\": \"#2a3f5f\"}, \"geo\": {\"bgcolor\": \"white\", \"lakecolor\": \"white\", \"landcolor\": \"#E5ECF6\", \"showlakes\": true, \"showland\": true, \"subunitcolor\": \"white\"}, \"hoverlabel\": {\"align\": \"left\"}, \"hovermode\": \"closest\", \"mapbox\": {\"style\": \"light\"}, \"paper_bgcolor\": \"white\", \"plot_bgcolor\": \"#E5ECF6\", \"polar\": {\"angularaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"bgcolor\": \"#E5ECF6\", \"radialaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"scene\": {\"xaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}, \"yaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}, \"zaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}}, \"shapedefaults\": {\"line\": {\"color\": \"#2a3f5f\"}}, \"ternary\": {\"aaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"baxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"bgcolor\": \"#E5ECF6\", \"caxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"title\": {\"x\": 0.05}, \"xaxis\": {\"automargin\": true, \"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"zerolinewidth\": 2}, \"yaxis\": {\"automargin\": true, \"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"zerolinewidth\": 2}}}, \"width\": 600, \"xaxis\": {\"anchor\": \"y\", \"domain\": [0.0, 1.0], \"title\": {\"text\": \"highway_mpg\"}}, \"yaxis\": {\"anchor\": \"x\", \"domain\": [0.0, 1.0], \"title\": {\"text\": \"count\"}}},\n",
" {\"responsive\": true}\n",
" ).then(function(){\n",
" \n",
"var gd = document.getElementById('f6043550-eeb7-428c-b95a-34b7792dfeaf');\n",
"var x = new MutationObserver(function (mutations, observer) {{\n",
" var display = window.getComputedStyle(gd).display;\n",
" if (!display || display === 'none') {{\n",
" console.log([gd, 'removed!']);\n",
" Plotly.purge(gd);\n",
" observer.disconnect();\n",
" }}\n",
"}});\n",
"\n",
"// Listen for the removal of the full notebook cells\n",
"var notebookContainer = gd.closest('#notebook-container');\n",
"if (notebookContainer) {{\n",
" x.observe(notebookContainer, {childList: true});\n",
"}}\n",
"\n",
"// Listen for the clearing of the current output cell\n",
"var outputEl = gd.closest('.output');\n",
"if (outputEl) {{\n",
" x.observe(outputEl, {childList: true});\n",
"}}\n",
"\n",
" })\n",
" };\n",
" });\n",
" </script>\n",
" </div>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = px.histogram(auto, x=\"highway_mpg\",histnorm='probability density',width=600, height=400)\n",
"fig.show()"
]
},
{
"cell_type": "markdown",
"execution_count": null,
"metadata": {},
"source": [
"Subplot option in Plotly is as below. Here Plotly graph object and Plotly subplots option is used for subplots. This is the most convenient way to do it in Plotly."
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
" \n",
" \n",
" <div id=\"a6960ff5-0379-4758-a465-55011dc7cc55\" class=\"plotly-graph-div\" style=\"height:525px; width:100%;\"></div>\n",
" <script type=\"text/javascript\">\n",
" require([\"plotly\"], function(Plotly) {\n",
" window.PLOTLYENV=window.PLOTLYENV || {};\n",
" \n",
" if (document.getElementById(\"a6960ff5-0379-4758-a465-55011dc7cc55\")) {\n",
" Plotly.newPlot(\n",
" 'a6960ff5-0379-4758-a465-55011dc7cc55',\n",
" [{\"type\": \"histogram\", \"x\": [27, 27, 26, 30, 22, 25, 25, 25, 20, 29, 29, 28, 28, 25, 22, 22, 20, 53, 43, 43, 41, 38, 30, 38, 38, 38, 30, 30, 24, 54, 38, 42, 34, 34, 34, 34, 33, 33, 33, 33, 28, 31, 29, 29, 19, 19, 17, 31, 38, 38, 38, 38, 23, 23, 23, 23, 32, 32, 32, 32, 42, 32, 27, 39, 25, 25, 25, 25, 18, 18, 16, 16, 24, 41, 38, 38, 30, 30, 32, 24, 24, 24, 32, 32, 30, 30, 37, 50, 37, 37, 37, 37, 37, 37, 37, 37, 34, 34, 22, 22, 25, 25, 23, 25, 24, 33, 24, 25, 24, 33, 24, 25, 24, 33, 24, 41, 30, 38, 38, 38, 30, 24, 27, 25, 25, 25, 31, 31, 28, 28, 28, 28, 26, 26, 36, 31, 31, 37, 33, 32, 25, 29, 32, 31, 29, 23, 39, 38, 38, 37, 32, 32, 37, 37, 36, 47, 47, 34, 34, 34, 34, 29, 29, 30, 30, 30, 30, 30, 30, 34, 33, 32, 32, 32, 24, 24, 24, 24, 46, 34, 46, 34, 34, 42, 32, 29, 29, 24, 38, 31, 28, 28, 28, 28, 22, 22, 28, 25, 23, 27, 25], \"xaxis\": \"x\", \"yaxis\": \"y\"}, {\"histnorm\": \"probability density\", \"type\": \"histogram\", \"x\": [27, 27, 26, 30, 22, 25, 25, 25, 20, 29, 29, 28, 28, 25, 22, 22, 20, 53, 43, 43, 41, 38, 30, 38, 38, 38, 30, 30, 24, 54, 38, 42, 34, 34, 34, 34, 33, 33, 33, 33, 28, 31, 29, 29, 19, 19, 17, 31, 38, 38, 38, 38, 23, 23, 23, 23, 32, 32, 32, 32, 42, 32, 27, 39, 25, 25, 25, 25, 18, 18, 16, 16, 24, 41, 38, 38, 30, 30, 32, 24, 24, 24, 32, 32, 30, 30, 37, 50, 37, 37, 37, 37, 37, 37, 37, 37, 34, 34, 22, 22, 25, 25, 23, 25, 24, 33, 24, 25, 24, 33, 24, 25, 24, 33, 24, 41, 30, 38, 38, 38, 30, 24, 27, 25, 25, 25, 31, 31, 28, 28, 28, 28, 26, 26, 36, 31, 31, 37, 33, 32, 25, 29, 32, 31, 29, 23, 39, 38, 38, 37, 32, 32, 37, 37, 36, 47, 47, 34, 34, 34, 34, 29, 29, 30, 30, 30, 30, 30, 30, 34, 33, 32, 32, 32, 24, 24, 24, 24, 46, 34, 46, 34, 34, 42, 32, 29, 29, 24, 38, 31, 28, 28, 28, 28, 22, 22, 28, 25, 23, 27, 25], \"xaxis\": \"x2\", \"yaxis\": \"y2\"}],\n",
" {\"annotations\": [{\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Histograp with count\", \"x\": 0.225, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 1.0, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"histogram with probability density\", \"x\": 0.775, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 1.0, \"yanchor\": \"bottom\", \"yref\": \"paper\"}], \"template\": {\"data\": {\"bar\": [{\"error_x\": {\"color\": \"#2a3f5f\"}, \"error_y\": {\"color\": \"#2a3f5f\"}, \"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}}, \"type\": \"bar\"}], \"barpolar\": [{\"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}}, \"type\": \"barpolar\"}], \"carpet\": [{\"aaxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"baxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"type\": \"carpet\"}], \"choropleth\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"choropleth\"}], \"contour\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"contour\"}], \"contourcarpet\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"contourcarpet\"}], \"heatmap\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"heatmap\"}], \"heatmapgl\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"heatmapgl\"}], \"histogram\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"histogram\"}], \"histogram2d\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"histogram2d\"}], \"histogram2dcontour\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"histogram2dcontour\"}], \"mesh3d\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"mesh3d\"}], \"parcoords\": [{\"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"parcoords\"}], \"pie\": [{\"automargin\": true, \"type\": \"pie\"}], \"scatter\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatter\"}], \"scatter3d\": [{\"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatter3d\"}], \"scattercarpet\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattercarpet\"}], \"scattergeo\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattergeo\"}], \"scattergl\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattergl\"}], \"scattermapbox\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattermapbox\"}], \"scatterpolar\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterpolar\"}], \"scatterpolargl\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterpolargl\"}], \"scatterternary\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterternary\"}], \"surface\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"surface\"}], \"table\": [{\"cells\": {\"fill\": {\"color\": \"#EBF0F8\"}, \"line\": {\"color\": \"white\"}}, \"header\": {\"fill\": {\"color\": \"#C8D4E3\"}, \"line\": {\"color\": \"white\"}}, \"type\": \"table\"}]}, \"layout\": {\"annotationdefaults\": {\"arrowcolor\": \"#2a3f5f\", \"arrowhead\": 0, \"arrowwidth\": 1}, \"coloraxis\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"colorscale\": {\"diverging\": [[0, \"#8e0152\"], [0.1, \"#c51b7d\"], [0.2, \"#de77ae\"], [0.3, \"#f1b6da\"], [0.4, \"#fde0ef\"], [0.5, \"#f7f7f7\"], [0.6, \"#e6f5d0\"], [0.7, \"#b8e186\"], [0.8, \"#7fbc41\"], [0.9, \"#4d9221\"], [1, \"#276419\"]], \"sequential\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"sequentialminus\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}, \"colorway\": [\"#636efa\", \"#EF553B\", \"#00cc96\", \"#ab63fa\", \"#FFA15A\", \"#19d3f3\", \"#FF6692\", \"#B6E880\", \"#FF97FF\", \"#FECB52\"], \"font\": {\"color\": \"#2a3f5f\"}, \"geo\": {\"bgcolor\": \"white\", \"lakecolor\": \"white\", \"landcolor\": \"#E5ECF6\", \"showlakes\": true, \"showland\": true, \"subunitcolor\": \"white\"}, \"hoverlabel\": {\"align\": \"left\"}, \"hovermode\": \"closest\", \"mapbox\": {\"style\": \"light\"}, \"paper_bgcolor\": \"white\", \"plot_bgcolor\": \"#E5ECF6\", \"polar\": {\"angularaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"bgcolor\": \"#E5ECF6\", \"radialaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"scene\": {\"xaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}, \"yaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}, \"zaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}}, \"shapedefaults\": {\"line\": {\"color\": \"#2a3f5f\"}}, \"ternary\": {\"aaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"baxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"bgcolor\": \"#E5ECF6\", \"caxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"title\": {\"x\": 0.05}, \"xaxis\": {\"automargin\": true, \"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"zerolinewidth\": 2}, \"yaxis\": {\"automargin\": true, \"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"zerolinewidth\": 2}}}, \"xaxis\": {\"anchor\": \"y\", \"domain\": [0.0, 0.45]}, \"xaxis2\": {\"anchor\": \"y2\", \"domain\": [0.55, 1.0]}, \"yaxis\": {\"anchor\": \"x\", \"domain\": [0.0, 1.0]}, \"yaxis2\": {\"anchor\": \"x2\", \"domain\": [0.0, 1.0]}},\n",
" {\"responsive\": true}\n",
" ).then(function(){\n",
" \n",
"var gd = document.getElementById('a6960ff5-0379-4758-a465-55011dc7cc55');\n",
"var x = new MutationObserver(function (mutations, observer) {{\n",
" var display = window.getComputedStyle(gd).display;\n",
" if (!display || display === 'none') {{\n",
" console.log([gd, 'removed!']);\n",
" Plotly.purge(gd);\n",
" observer.disconnect();\n",
" }}\n",
"}});\n",
"\n",
"// Listen for the removal of the full notebook cells\n",
"var notebookContainer = gd.closest('#notebook-container');\n",
"if (notebookContainer) {{\n",
" x.observe(notebookContainer, {childList: true});\n",
"}}\n",
"\n",
"// Listen for the clearing of the current output cell\n",
"var outputEl = gd.closest('.output');\n",
"if (outputEl) {{\n",
" x.observe(outputEl, {childList: true});\n",
"}}\n",
"\n",
" })\n",
" };\n",
" });\n",
" </script>\n",
" </div>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import plotly.graph_objects as go\n",
"from plotly.subplots import make_subplots\n",
"\n",
"\n",
"fig = make_subplots(rows=1, cols=2,subplot_titles=(\"Histograp with count\", \"histogram with probability density\"))\n",
"\n",
"trace0 = go.Histogram(x=auto['highway_mpg'])\n",
"trace1 = go.Histogram(x=auto['highway_mpg'],histnorm='probability density')\n",
"\n",
"fig.append_trace(trace0, 1, 1,)\n",
"fig.append_trace(trace1, 1, 2)\n",
"\n",
"fig.show()"
]
},
{
"cell_type": "markdown",
"execution_count": null,
"metadata": {},
"source": [
"## Plotting bivariate distributions\n",
"\n",
"It can also be useful to visualize a relationship between two variables. The easiest way to do this in seaborn is to use the jointplot() function, which creates a scatterplot of the two variables along with the histograms of each next to the appropriate axes.\n",
"\n",
"#### Seaborn:\n"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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wAMPaMGCBRozZoyuvfZa/fnPf/a+b/fu3bruuus0ZswY3X///Zo7d65WrlwpSfrjH/+o733ve95zi4qK9O///u+aNm2axo4dq7lz56qlpcX7+ttvv63p06dr3Lhxuummm1RdXd1j3c8++6wmTZqkMWPGaOrUqaqsrPTWPX/+fEnSkiVLNGbMGO//vvvd72r16tUB2w3YXoy39wDC4vF4rOuvv95avXq11dLSYn311VdWUVGR9V//9V/WqlWrrH/4h3+wtm/fbrW1tVnLly+3Zs6caVmWZbW0tFiTJ0+2fvnLX1qtra1WRUWFNXLkSGvFihWWZVnWH/7wB2vSpEne75kyZYp1ww03WAcOHLAOHz5sXX311davfvUry7Is69NPP7Uuv/xya9euXVZbW5u1YcMGa8qUKVZLS4vfumtqaqzvfe971oEDByzLsqyvv/7a2rdvn2VZlrVq1SrrwQcf7Paeqqoqa8KECdbu3bsDthuwO3pQSAh//vOf1dTUpPvuu09Op1NDhw7V97//fW3ZskWSNHbsWBUWFsrhcGj69Onens0nn3yitrY23XLLLUpNTdVVV12liy++OOB3zZ49Wzk5OcrIyNCUKVO0Z88eSdIrr7yiWbNmadSoUXI4HLr++uuVmpqqXbt2+f0sh8Oh1tZW1dTU6PTp0xoyZIjOP/98v+c3NTXp3nvv1RNPPKHvfve7PbYbsDNbblgI+9m/f78aGho0btw47zGPx6Nx48YpPz9f5513nvd4v3791NLSora2NjU0NCgnJ0dJSUne13vaUiE7O9v7z/3791dDQ4Mkqba2Vhs3btRLL73kff306dPe130ZNmyYHn30Ua1evVpffvmlrrjiCpWWlionJ6fbuadPn9b999+v4uJiXXvttT22G7A7AgoJIS8vT0OGDNEbb7zR7bWOezW+ZGdnq76+XpZleUOqrq5OQ4cODauGf/mXf9Hdd98d0vumTZumadOm6fjx41q4cKGWL1+uZcuWdTtv6dKlGjBggObOndvpO/21G7A7hviQEC655BINHDhQzz77rE6dOiWPx6PPP/9cf/rTnwK+b/To0XI4HHrppZfU1tamN998s9MEilDMnDlTv/71r/XJJ5/Isiw1Nzdr+/btOn78uN/3/OUvf1FlZaVaW1vldDrlcrm824yf7de//rV27typn/70p97NA3vTbsAOCCgkBIfDoZ/97Geqrq7WlVdeqcsvv1yPP/54wHCQzuwMu3r1av3mN7/R+PHj9bvf/U6TJ0/2btIXiosvvlhLly7VkiVLNH78eF111VXasGFDwPe0trbqpz/9qSZMmKArrrhCTU1N+tGPftTtvNdff11ff/21d7bfmDFjtG7durDbDdgBD+qiz5k5c6Zuuukm3XDDDfEuBUAA9KBge++//74OHjyotrY2vfbaa/rss880adKkeJcFoAdMkoDt7d27V3PnzlVzc7OGDh2qVatWebcxj4Ta2lrvrLuuXn/9deXn50fsu4C+hCE+AICRGOIDABiJgAIAGImAAgAYiYACABiJgAIAGImAAgAY6f8BHUyyE39zwTsAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 432x432 with 3 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sns.jointplot(auto['engine_size'], auto['horsepower']);"
]
},
{
"cell_type": "markdown",
"execution_count": null,
"metadata": {},
"source": [
"#### Plotly:\n",
"Plotly Express offers same graphs of jointplot but in scatter plot option. Outputs is similar but interactive.\n",
"\n",
"https://plotly.com/python/line-and-scatter/"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
" \n",
" \n",
" <div id=\"c6e77b06-2394-400e-84b1-1117881c00f9\" class=\"plotly-graph-div\" style=\"height:600px; width:600px;\"></div>\n",
" <script type=\"text/javascript\">\n",
" require([\"plotly\"], function(Plotly) {\n",
" window.PLOTLYENV=window.PLOTLYENV || {};\n",
" \n",
" if (document.getElementById(\"c6e77b06-2394-400e-84b1-1117881c00f9\")) {\n",
" Plotly.newPlot(\n",
" 'c6e77b06-2394-400e-84b1-1117881c00f9',\n",
" [{\"hovertemplate\": \"engine_size=%{x}<br>horsepower=%{y}<extra></extra>\", \"legendgroup\": \"\", \"marker\": {\"color\": \"#636efa\", \"symbol\": \"circle\"}, \"mode\": \"markers\", \"name\": \"\", \"orientation\": \"v\", \"showlegend\": false, \"type\": \"scatter\", \"x\": [130, 130, 152, 109, 136, 136, 136, 136, 131, 108, 108, 164, 164, 164, 209, 209, 209, 61, 90, 90, 90, 90, 98, 90, 90, 90, 98, 122, 156, 92, 92, 79, 92, 92, 92, 92, 110, 110, 110, 110, 110, 110, 111, 119, 258, 258, 326, 91, 91, 91, 91, 91, 70, 70, 70, 80, 122, 122, 122, 122, 122, 122, 140, 134, 183, 183, 183, 183, 234, 234, 308, 304, 140, 92, 92, 92, 98, 110, 122, 156, 156, 156, 122, 122, 110, 110, 97, 103, 97, 97, 97, 97, 97, 97, 97, 97, 120, 120, 181, 181, 181, 181, 181, 181, 120, 152, 120, 152, 120, 152, 120, 152, 120, 152, 134, 90, 98, 90, 90, 98, 122, 156, 151, 194, 194, 194, 132, 132, 121, 121, 121, 121, 121, 121, 97, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 92, 92, 92, 92, 92, 92, 98, 98, 110, 110, 98, 98, 98, 98, 98, 98, 98, 146, 146, 146, 146, 146, 146, 122, 110, 122, 122, 122, 171, 171, 171, 161, 97, 109, 97, 109, 109, 97, 109, 109, 109, 136, 97, 109, 141, 141, 141, 141, 130, 130, 141, 141, 173, 145, 141], \"xaxis\": \"x\", \"y\": [111, 111, 154, 102, 115, 110, 110, 110, 140, 101, 101, 121, 121, 121, 182, 182, 182, 48, 70, 70, 68, 68, 102, 68, 68, 68, 102, 88, 145, 58, 76, 60, 76, 76, 76, 76, 86, 86, 86, 86, 101, 100, 78, 90, 176, 176, 262, 68, 68, 68, 68, 68, 101, 101, 101, 135, 84, 84, 84, 84, 64, 84, 120, 72, 123, 123, 123, 123, 155, 155, 184, 184, 175, 68, 68, 68, 102, 116, 88, 145, 145, 145, 88, 88, 116, 116, 69, 55, 69, 69, 69, 69, 69, 69, 69, 69, 97, 97, 152, 152, 152, 160, 200, 160, 97, 95, 97, 95, 95, 95, 95, 95, 97, 95, 142, 68, 102, 68, 68, 68, 88, 145, 143, 207, 207, 207, 90, 90, 110, 110, 110, 110, 160, 160, 69, 73, 73, 82, 82, 94, 82, 111, 82, 94, 82, 111, 62, 62, 62, 62, 62, 62, 70, 70, 56, 56, 70, 70, 70, 70, 70, 112, 112, 116, 116, 116, 116, 116, 116, 92, 73, 92, 92, 92, 161, 161, 156, 156, 52, 85, 52, 85, 85, 68, 100, 90, 90, 110, 68, 88, 114, 114, 114, 114, 162, 162, 114, 160, 134, 106, 114], \"yaxis\": \"y\"}, {\"alignmentgroup\": \"True\", \"bingroup\": \"x\", \"hovertemplate\": \"engine_size=%{x}<br>count=%{y}<extra></extra>\", \"legendgroup\": \"\", \"marker\": {\"color\": \"#636efa\"}, \"name\": \"\", \"offsetgroup\": \"\", \"opacity\": 0.5, \"showlegend\": false, \"type\": \"histogram\", \"x\": [130, 130, 152, 109, 136, 136, 136, 136, 131, 108, 108, 164, 164, 164, 209, 209, 209, 61, 90, 90, 90, 90, 98, 90, 90, 90, 98, 122, 156, 92, 92, 79, 92, 92, 92, 92, 110, 110, 110, 110, 110, 110, 111, 119, 258, 258, 326, 91, 91, 91, 91, 91, 70, 70, 70, 80, 122, 122, 122, 122, 122, 122, 140, 134, 183, 183, 183, 183, 234, 234, 308, 304, 140, 92, 92, 92, 98, 110, 122, 156, 156, 156, 122, 122, 110, 110, 97, 103, 97, 97, 97, 97, 97, 97, 97, 97, 120, 120, 181, 181, 181, 181, 181, 181, 120, 152, 120, 152, 120, 152, 120, 152, 120, 152, 134, 90, 98, 90, 90, 98, 122, 156, 151, 194, 194, 194, 132, 132, 121, 121, 121, 121, 121, 121, 97, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 92, 92, 92, 92, 92, 92, 98, 98, 110, 110, 98, 98, 98, 98, 98, 98, 98, 146, 146, 146, 146, 146, 146, 122, 110, 122, 122, 122, 171, 171, 171, 161, 97, 109, 97, 109, 109, 97, 109, 109, 109, 136, 97, 109, 141, 141, 141, 141, 130, 130, 141, 141, 173, 145, 141], \"xaxis\": \"x3\", \"yaxis\": \"y3\"}, {\"alignmentgroup\": \"True\", \"bingroup\": \"y\", \"hovertemplate\": \"horsepower=%{y}<br>count=%{x}<extra></extra>\", \"legendgroup\": \"\", \"marker\": {\"color\": \"#636efa\"}, \"name\": \"\", \"offsetgroup\": \"\", \"opacity\": 0.5, \"showlegend\": false, \"type\": \"histogram\", \"xaxis\": \"x2\", \"y\": [111, 111, 154, 102, 115, 110, 110, 110, 140, 101, 101, 121, 121, 121, 182, 182, 182, 48, 70, 70, 68, 68, 102, 68, 68, 68, 102, 88, 145, 58, 76, 60, 76, 76, 76, 76, 86, 86, 86, 86, 101, 100, 78, 90, 176, 176, 262, 68, 68, 68, 68, 68, 101, 101, 101, 135, 84, 84, 84, 84, 64, 84, 120, 72, 123, 123, 123, 123, 155, 155, 184, 184, 175, 68, 68, 68, 102, 116, 88, 145, 145, 145, 88, 88, 116, 116, 69, 55, 69, 69, 69, 69, 69, 69, 69, 69, 97, 97, 152, 152, 152, 160, 200, 160, 97, 95, 97, 95, 95, 95, 95, 95, 97, 95, 142, 68, 102, 68, 68, 68, 88, 145, 143, 207, 207, 207, 90, 90, 110, 110, 110, 110, 160, 160, 69, 73, 73, 82, 82, 94, 82, 111, 82, 94, 82, 111, 62, 62, 62, 62, 62, 62, 70, 70, 56, 56, 70, 70, 70, 70, 70, 112, 112, 116, 116, 116, 116, 116, 116, 92, 73, 92, 92, 92, 161, 161, 156, 156, 52, 85, 52, 85, 85, 68, 100, 90, 90, 110, 68, 88, 114, 114, 114, 114, 162, 162, 114, 160, 134, 106, 114], \"yaxis\": \"y2\"}],\n",
" {\"barmode\": \"overlay\", \"height\": 600, \"legend\": {\"tracegroupgap\": 0}, \"margin\": {\"t\": 60}, \"template\": {\"data\": {\"bar\": [{\"error_x\": {\"color\": \"#2a3f5f\"}, \"error_y\": {\"color\": \"#2a3f5f\"}, \"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}}, \"type\": \"bar\"}], \"barpolar\": [{\"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}}, \"type\": \"barpolar\"}], \"carpet\": [{\"aaxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"baxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"type\": \"carpet\"}], \"choropleth\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"choropleth\"}], \"contour\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"contour\"}], \"contourcarpet\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"contourcarpet\"}], \"heatmap\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"heatmap\"}], \"heatmapgl\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"heatmapgl\"}], \"histogram\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"histogram\"}], \"histogram2d\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"histogram2d\"}], \"histogram2dcontour\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"histogram2dcontour\"}], \"mesh3d\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"mesh3d\"}], \"parcoords\": [{\"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"parcoords\"}], \"pie\": [{\"automargin\": true, \"type\": \"pie\"}], \"scatter\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatter\"}], \"scatter3d\": [{\"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatter3d\"}], \"scattercarpet\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattercarpet\"}], \"scattergeo\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattergeo\"}], \"scattergl\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattergl\"}], \"scattermapbox\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattermapbox\"}], \"scatterpolar\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterpolar\"}], \"scatterpolargl\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterpolargl\"}], \"scatterternary\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterternary\"}], \"surface\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"surface\"}], \"table\": [{\"cells\": {\"fill\": {\"color\": \"#EBF0F8\"}, \"line\": {\"color\": \"white\"}}, \"header\": {\"fill\": {\"color\": \"#C8D4E3\"}, \"line\": {\"color\": \"white\"}}, \"type\": \"table\"}]}, \"layout\": {\"annotationdefaults\": {\"arrowcolor\": \"#2a3f5f\", \"arrowhead\": 0, \"arrowwidth\": 1}, \"coloraxis\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"colorscale\": {\"diverging\": [[0, \"#8e0152\"], [0.1, \"#c51b7d\"], [0.2, \"#de77ae\"], [0.3, \"#f1b6da\"], [0.4, \"#fde0ef\"], [0.5, \"#f7f7f7\"], [0.6, \"#e6f5d0\"], [0.7, \"#b8e186\"], [0.8, \"#7fbc41\"], [0.9, \"#4d9221\"], [1, \"#276419\"]], \"sequential\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"sequentialminus\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}, \"colorway\": [\"#636efa\", \"#EF553B\", \"#00cc96\", \"#ab63fa\", \"#FFA15A\", \"#19d3f3\", \"#FF6692\", \"#B6E880\", \"#FF97FF\", \"#FECB52\"], \"font\": {\"color\": \"#2a3f5f\"}, \"geo\": {\"bgcolor\": \"white\", \"lakecolor\": \"white\", \"landcolor\": \"#E5ECF6\", \"showlakes\": true, \"showland\": true, \"subunitcolor\": \"white\"}, \"hoverlabel\": {\"align\": \"left\"}, \"hovermode\": \"closest\", \"mapbox\": {\"style\": \"light\"}, \"paper_bgcolor\": \"white\", \"plot_bgcolor\": \"#E5ECF6\", \"polar\": {\"angularaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"bgcolor\": \"#E5ECF6\", \"radialaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"scene\": {\"xaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}, \"yaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}, \"zaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}}, \"shapedefaults\": {\"line\": {\"color\": \"#2a3f5f\"}}, \"ternary\": {\"aaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"baxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"bgcolor\": \"#E5ECF6\", \"caxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"title\": {\"x\": 0.05}, \"xaxis\": {\"automargin\": true, \"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"zerolinewidth\": 2}, \"yaxis\": {\"automargin\": true, \"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"zerolinewidth\": 2}}}, \"width\": 600, \"xaxis\": {\"anchor\": \"y\", \"domain\": [0.0, 0.7363], \"title\": {\"text\": \"engine_size\"}}, \"xaxis2\": {\"anchor\": \"y2\", \"domain\": [0.7413, 1.0], \"matches\": \"x2\", \"showgrid\": true, \"showline\": false, \"showticklabels\": false, \"ticks\": \"\"}, \"xaxis3\": {\"anchor\": \"y3\", \"domain\": [0.0, 0.7363], \"matches\": \"x\", \"showgrid\": true, \"showticklabels\": false}, \"xaxis4\": {\"anchor\": \"y4\", \"domain\": [0.7413, 1.0], \"matches\": \"x2\", \"showgrid\": true, \"showline\": false, \"showticklabels\": false, \"ticks\": \"\"}, \"yaxis\": {\"anchor\": \"x\", \"domain\": [0.0, 0.7326], \"title\": {\"text\": \"horsepower\"}}, \"yaxis2\": {\"anchor\": \"x2\", \"domain\": [0.0, 0.7326], \"matches\": \"y\", \"showgrid\": true, \"showticklabels\": false}, \"yaxis3\": {\"anchor\": \"x3\", \"domain\": [0.7426, 1.0], \"matches\": \"y3\", \"showgrid\": true, \"showline\": false, \"showticklabels\": false, \"ticks\": \"\"}, \"yaxis4\": {\"anchor\": \"x4\", \"domain\": [0.7426, 1.0], \"matches\": \"y3\", \"showgrid\": true, \"showline\": false, \"showticklabels\": false, \"ticks\": \"\"}},\n",
" {\"responsive\": true}\n",
" ).then(function(){\n",
" \n",
"var gd = document.getElementById('c6e77b06-2394-400e-84b1-1117881c00f9');\n",
"var x = new MutationObserver(function (mutations, observer) {{\n",
" var display = window.getComputedStyle(gd).display;\n",
" if (!display || display === 'none') {{\n",
" console.log([gd, 'removed!']);\n",
" Plotly.purge(gd);\n",
" observer.disconnect();\n",
" }}\n",
"}});\n",
"\n",
"// Listen for the removal of the full notebook cells\n",
"var notebookContainer = gd.closest('#notebook-container');\n",
"if (notebookContainer) {{\n",
" x.observe(notebookContainer, {childList: true});\n",
"}}\n",
"\n",
"// Listen for the clearing of the current output cell\n",
"var outputEl = gd.closest('.output');\n",
"if (outputEl) {{\n",
" x.observe(outputEl, {childList: true});\n",
"}}\n",
"\n",
" })\n",
" };\n",
" });\n",
" </script>\n",
" </div>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = px.scatter(auto, x=\"engine_size\", y=\"horsepower\",marginal_y=\"histogram\",marginal_x=\"histogram\",width=600, height=600)\n",
"fig.show()"
]
},
{
"cell_type": "markdown",
"execution_count": null,
"metadata": {},
"source": [
"Scatter plot option in Plotly is very good way to visualize different dimensions of variability in the dataset. Below example is using variability of five variables:\n",
"X Axis: Engine Size, Y Axis: horsepower , drive_wheels in different colors , price in different size of the bubble. Fifth variable (umber_of_doors) is visible when you move mouse pointer on a bubble."
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
" \n",
" \n",
" <div id=\"3c61a45e-346b-4f2c-842a-98519a9cb37b\" class=\"plotly-graph-div\" style=\"height:500px; width:900px;\"></div>\n",
" <script type=\"text/javascript\">\n",
" require([\"plotly\"], function(Plotly) {\n",
" window.PLOTLYENV=window.PLOTLYENV || {};\n",
" \n",
" if (document.getElementById(\"3c61a45e-346b-4f2c-842a-98519a9cb37b\")) {\n",
" Plotly.newPlot(\n",
" '3c61a45e-346b-4f2c-842a-98519a9cb37b',\n",
" [{\"customdata\": [[\"two\"], [\"two\"], [\"two\"], [\"two\"], [\"four\"], [\"two\"], [\"four\"], [\"four\"], [\"four\"], [\"two\"], [\"four\"], [\"four\"], [\"two\"], [\"four\"], [\"four\"], [\"two\"], [\"two\"], [\"two\"], [\"two\"], [\"two\"], [\"four\"], [\"four\"], [\"four\"], [\"four\"], [\"two\"], [\"four\"], [\"four\"], [\"two\"], [\"four\"], [\"two\"], [\"two\"], [\"two\"], [\"two\"], [\"two\"], [\"four\"], [\"four\"], [\"four\"], [\"four\"], [\"four\"], [\"four\"], [\"four\"], [\"four\"], [\"four\"], [\"four\"], [\"four\"], [\"two\"], [\"two\"], [\"two\"], [\"two\"], [\"two\"], [\"two\"], [\"two\"], [\"two\"], [\"two\"], [\"two\"], [\"two\"], [\"two\"], [\"two\"], [\"two\"], [\"two\"], [\"two\"], [\"two\"], [\"four\"], [\"four\"], [\"four\"], [\"four\"], [\"four\"], [\"four\"], [\"four\"], [\"four\"], [\"four\"], [\"four\"], [\"four\"], [\"four\"], [\"four\"]], \"hovertemplate\": \"drive_wheels=rwd<br>engine_size=%{x}<br>horsepower=%{y}<br>price=%{marker.size}<br>number_of_doors=%{customdata[0]}<extra></extra>\", \"legendgroup\": \"rwd\", \"marker\": {\"color\": \"#636efa\", \"size\": [13495, 16500, 16500, 16430, 16925, 20970, 21105, 24565, 30760, 41315, 36880, 6785, 11048, 32250, 35550, 36000, 10945, 11845, 13645, 15645, 18280, 18344, 25552, 28248, 28176, 31600, 34184, 35056, 40960, 45400, 16503, 17199, 19699, 18399, 11900, 13200, 12440, 13860, 15580, 16900, 16695, 17075, 16630, 17950, 18150, 12764, 22018, 32528, 34028, 37028, 8058, 8238, 9298, 9538, 8449, 9639, 9989, 11199, 11549, 17669, 16558, 15998, 15690, 15750, 12940, 13415, 15985, 16515, 18420, 18950, 16845, 19045, 21485, 22470, 22625], \"sizemode\": \"area\", \"sizeref\": 113.5, \"symbol\": \"circle\"}, \"mode\": \"markers\", \"name\": \"rwd\", \"orientation\": \"v\", \"showlegend\": true, \"type\": \"scatter\", \"x\": [130, 130, 152, 108, 108, 164, 164, 164, 209, 209, 209, 111, 119, 258, 258, 326, 70, 70, 70, 80, 140, 134, 183, 183, 183, 183, 234, 234, 308, 304, 140, 181, 181, 181, 120, 152, 120, 152, 120, 152, 120, 152, 120, 152, 134, 156, 151, 194, 194, 194, 98, 98, 98, 98, 146, 146, 146, 146, 146, 146, 171, 171, 171, 161, 141, 141, 141, 141, 130, 130, 141, 141, 173, 145, 141], \"xaxis\": \"x\", \"y\": [111, 111, 154, 101, 101, 121, 121, 121, 182, 182, 182, 78, 90, 176, 176, 262, 101, 101, 101, 135, 120, 72, 123, 123, 123, 123, 155, 155, 184, 184, 175, 160, 200, 160, 97, 95, 97, 95, 95, 95, 95, 95, 97, 95, 142, 145, 143, 207, 207, 207, 70, 70, 112, 112, 116, 116, 116, 116, 116, 116, 161, 161, 156, 156, 114, 114, 114, 114, 162, 162, 114, 160, 134, 106, 114], \"yaxis\": \"y\"}, {\"customdata\": [[\"four\"], [\"two\"], [\"four\"], [\"four\"], [\"four\"], [\"two\"], [\"two\"], [\"four\"], [\"two\"], [\"two\"], [\"two\"], [\"four\"], [\"four\"], [\"four\"], [\"two\"], [\"four\"], [\"two\"], [\"two\"], [\"two\"], [\"two\"], [\"two\"], [\"two\"], [\"four\"], [\"four\"], [\"two\"], [\"two\"], [\"four\"], [\"four\"], [\"four\"], [\"two\"], [\"two\"], [\"two\"], [\"two\"], [\"four\"], [\"four\"], [\"two\"], [\"four\"], [\"two\"], [\"four\"], [\"four\"], [\"four\"], [\"two\"], [\"two\"], [\"two\"], [\"two\"], [\"two\"], [\"two\"], [\"two\"], [\"two\"], [\"two\"], [\"four\"], [\"four\"], [\"four\"], [\"four\"], [\"two\"], [\"two\"], [\"two\"], [\"four\"], [\"four\"], [\"two\"], [\"two\"], [\"four\"], [\"four\"], [\"two\"], [\"four\"], [\"four\"], [\"four\"], [\"four\"], [\"four\"], [\"two\"], [\"two\"], [\"four\"], [\"four\"], [\"four\"], [\"four\"], [\"four\"], [\"two\"], [\"two\"], [\"four\"], [\"two\"], [\"four\"], [\"two\"], [\"four\"], [\"two\"], [\"two\"], [\"four\"], [\"four\"], [\"four\"], [\"four\"], [\"four\"], [\"two\"], [\"two\"], [\"four\"], [\"four\"], [\"four\"], [\"four\"], [\"four\"], [\"four\"], [\"four\"], [\"four\"], [\"four\"], [\"four\"], [\"four\"], [\"four\"], [\"four\"], [\"four\"], [\"two\"], [\"two\"], [\"four\"], [\"four\"], [\"four\"], [\"four\"], [\"four\"], [\"two\"], [\"two\"], [\"four\"], [\"four\"], [\"four\"]], \"hovertemplate\": \"drive_wheels=fwd<br>engine_size=%{x}<br>horsepower=%{y}<br>price=%{marker.size}<br>number_of_doors=%{customdata[0]}<extra></extra>\", \"legendgroup\": \"fwd\", \"marker\": {\"color\": \"#EF553B\", \"size\": [13950, 15250, 17710, 18920, 23875, 5151, 6295, 6575, 5572, 6377, 7957, 6229, 6692, 7609, 8558, 8921, 12964, 6479, 6855, 5399, 6529, 7129, 7295, 7295, 7895, 9095, 8845, 10295, 12945, 10345, 5195, 6095, 6795, 6695, 7395, 8845, 8495, 10595, 10245, 10795, 11245, 5389, 6189, 6669, 7689, 9959, 8499, 12629, 14869, 14489, 6989, 8189, 9279, 9279, 5499, 7099, 6649, 6849, 7349, 7299, 7799, 7499, 7999, 8249, 8949, 9549, 13499, 14399, 13499, 5572, 7957, 6229, 6692, 7609, 8921, 9295, 9895, 11850, 12170, 15040, 15510, 18150, 18620, 5118, 7053, 7126, 7775, 9960, 7463, 10198, 5348, 6338, 6488, 6918, 6938, 7198, 7898, 7788, 7738, 8358, 9258, 8948, 10698, 9988, 10898, 11248, 7775, 7975, 7995, 8195, 8495, 9495, 9995, 11595, 9980, 13295, 13845, 12290], \"sizemode\": \"area\", \"sizeref\": 113.5, \"symbol\": \"circle\"}, \"mode\": \"markers\", \"name\": \"fwd\", \"orientation\": \"v\", \"showlegend\": true, \"type\": \"scatter\", \"x\": [109, 136, 136, 136, 131, 61, 90, 90, 90, 90, 98, 90, 90, 90, 98, 122, 156, 92, 92, 79, 92, 92, 92, 92, 110, 110, 110, 110, 110, 110, 91, 91, 91, 91, 91, 122, 122, 122, 122, 122, 122, 92, 92, 92, 98, 110, 122, 156, 156, 156, 122, 122, 110, 110, 97, 103, 97, 97, 97, 97, 97, 97, 97, 97, 120, 120, 181, 181, 181, 90, 98, 90, 90, 98, 122, 132, 132, 121, 121, 121, 121, 121, 121, 97, 108, 108, 108, 108, 108, 108, 92, 92, 92, 92, 98, 98, 110, 110, 98, 98, 98, 122, 110, 122, 122, 122, 97, 109, 97, 109, 109, 97, 109, 109, 109, 136, 97, 109], \"xaxis\": \"x\", \"y\": [102, 110, 110, 110, 140, 48, 70, 70, 68, 68, 102, 68, 68, 68, 102, 88, 145, 58, 76, 60, 76, 76, 76, 76, 86, 86, 86, 86, 101, 100, 68, 68, 68, 68, 68, 84, 84, 84, 84, 64, 84, 68, 68, 68, 102, 116, 88, 145, 145, 145, 88, 88, 116, 116, 69, 55, 69, 69, 69, 69, 69, 69, 69, 69, 97, 97, 152, 152, 152, 68, 102, 68, 68, 68, 88, 90, 90, 110, 110, 110, 110, 160, 160, 69, 73, 82, 82, 94, 82, 94, 62, 62, 62, 62, 70, 70, 56, 56, 70, 70, 70, 92, 73, 92, 92, 92, 52, 85, 52, 85, 85, 68, 100, 90, 90, 110, 68, 88], \"yaxis\": \"y\"}, {\"customdata\": [[\"four\"], [\"two\"], [\"four\"], [\"four\"], [\"four\"], [\"four\"], [\"four\"], [\"four\"]], \"hovertemplate\": \"drive_wheels=4wd<br>engine_size=%{x}<br>horsepower=%{y}<br>price=%{marker.size}<br>number_of_doors=%{customdata[0]}<extra></extra>\", \"legendgroup\": \"4wd\", \"marker\": {\"color\": \"#00cc96\", \"size\": [17450, 7603, 9233, 11259, 8013, 11694, 7898, 8778], \"sizemode\": \"area\", \"sizeref\": 113.5, \"symbol\": \"circle\"}, \"mode\": \"markers\", \"name\": \"4wd\", \"orientation\": \"v\", \"showlegend\": true, \"type\": \"scatter\", \"x\": [136, 108, 108, 108, 108, 108, 92, 92], \"xaxis\": \"x\", \"y\": [115, 73, 82, 111, 82, 111, 62, 62], \"yaxis\": \"y\"}],\n",
" {\"height\": 500, \"legend\": {\"itemsizing\": \"constant\", \"title\": {\"text\": \"drive_wheels\"}, \"tracegroupgap\": 0}, \"margin\": {\"t\": 60}, \"template\": {\"data\": {\"bar\": [{\"error_x\": {\"color\": \"#2a3f5f\"}, \"error_y\": {\"color\": \"#2a3f5f\"}, \"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}}, \"type\": \"bar\"}], \"barpolar\": [{\"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}}, \"type\": \"barpolar\"}], \"carpet\": [{\"aaxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"baxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"type\": \"carpet\"}], \"choropleth\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"choropleth\"}], \"contour\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"contour\"}], \"contourcarpet\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"contourcarpet\"}], \"heatmap\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"heatmap\"}], \"heatmapgl\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"heatmapgl\"}], \"histogram\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"histogram\"}], \"histogram2d\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"histogram2d\"}], \"histogram2dcontour\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"histogram2dcontour\"}], \"mesh3d\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"mesh3d\"}], \"parcoords\": [{\"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"parcoords\"}], \"pie\": [{\"automargin\": true, \"type\": \"pie\"}], \"scatter\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatter\"}], \"scatter3d\": [{\"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatter3d\"}], \"scattercarpet\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattercarpet\"}], \"scattergeo\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattergeo\"}], \"scattergl\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattergl\"}], \"scattermapbox\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattermapbox\"}], \"scatterpolar\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterpolar\"}], \"scatterpolargl\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterpolargl\"}], \"scatterternary\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterternary\"}], \"surface\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"surface\"}], \"table\": [{\"cells\": {\"fill\": {\"color\": \"#EBF0F8\"}, \"line\": {\"color\": \"white\"}}, \"header\": {\"fill\": {\"color\": \"#C8D4E3\"}, \"line\": {\"color\": \"white\"}}, \"type\": \"table\"}]}, \"layout\": {\"annotationdefaults\": {\"arrowcolor\": \"#2a3f5f\", \"arrowhead\": 0, \"arrowwidth\": 1}, \"coloraxis\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"colorscale\": {\"diverging\": [[0, \"#8e0152\"], [0.1, \"#c51b7d\"], [0.2, \"#de77ae\"], [0.3, \"#f1b6da\"], [0.4, \"#fde0ef\"], [0.5, \"#f7f7f7\"], [0.6, \"#e6f5d0\"], [0.7, \"#b8e186\"], [0.8, \"#7fbc41\"], [0.9, \"#4d9221\"], [1, \"#276419\"]], \"sequential\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"sequentialminus\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}, \"colorway\": [\"#636efa\", \"#EF553B\", \"#00cc96\", \"#ab63fa\", \"#FFA15A\", \"#19d3f3\", \"#FF6692\", \"#B6E880\", \"#FF97FF\", \"#FECB52\"], \"font\": {\"color\": \"#2a3f5f\"}, \"geo\": {\"bgcolor\": \"white\", \"lakecolor\": \"white\", \"landcolor\": \"#E5ECF6\", \"showlakes\": true, \"showland\": true, \"subunitcolor\": \"white\"}, \"hoverlabel\": {\"align\": \"left\"}, \"hovermode\": \"closest\", \"mapbox\": {\"style\": \"light\"}, \"paper_bgcolor\": \"white\", \"plot_bgcolor\": \"#E5ECF6\", \"polar\": {\"angularaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"bgcolor\": \"#E5ECF6\", \"radialaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"scene\": {\"xaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}, \"yaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}, \"zaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}}, \"shapedefaults\": {\"line\": {\"color\": \"#2a3f5f\"}}, \"ternary\": {\"aaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"baxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"bgcolor\": \"#E5ECF6\", \"caxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"title\": {\"x\": 0.05}, \"xaxis\": {\"automargin\": true, \"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"zerolinewidth\": 2}, \"yaxis\": {\"automargin\": true, \"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"zerolinewidth\": 2}}}, \"width\": 900, \"xaxis\": {\"anchor\": \"y\", \"domain\": [0.0, 1.0], \"title\": {\"text\": \"engine_size\"}}, \"yaxis\": {\"anchor\": \"x\", \"domain\": [0.0, 1.0], \"title\": {\"text\": \"horsepower\"}}},\n",
" {\"responsive\": true}\n",
" ).then(function(){\n",
" \n",
"var gd = document.getElementById('3c61a45e-346b-4f2c-842a-98519a9cb37b');\n",
"var x = new MutationObserver(function (mutations, observer) {{\n",
" var display = window.getComputedStyle(gd).display;\n",
" if (!display || display === 'none') {{\n",
" console.log([gd, 'removed!']);\n",
" Plotly.purge(gd);\n",
" observer.disconnect();\n",
" }}\n",
"}});\n",
"\n",
"// Listen for the removal of the full notebook cells\n",
"var notebookContainer = gd.closest('#notebook-container');\n",
"if (notebookContainer) {{\n",
" x.observe(notebookContainer, {childList: true});\n",
"}}\n",
"\n",
"// Listen for the clearing of the current output cell\n",
"var outputEl = gd.closest('.output');\n",
"if (outputEl) {{\n",
" x.observe(outputEl, {childList: true});\n",
"}}\n",
"\n",
" })\n",
" };\n",
" });\n",
" </script>\n",
" </div>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = px.scatter(auto, x=\"engine_size\", y=\"horsepower\",color=\"drive_wheels\",size='price',hover_data=['number_of_doors'],width=900, height=500)\n",
"fig.show()"
]
},
{
"cell_type": "markdown",
"execution_count": null,
"metadata": {},
"source": [
"### Kernel Density Estimation\n",
"\n",
"We can make a 2D estimation of the density also using Seaborn and Plotly Express , KDE option is not available in Plotly Express directly, But can be added if requred with many more code lines. Example is explained in Documantation. \n",
"\n",
"#### Seaborn"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x432 with 3 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sns.jointplot(auto['engine_size'], auto['horsepower'], kind=\"kde\");"
]
},
{
"cell_type": "markdown",
"execution_count": null,
"metadata": {},
"source": [
"#### Plotly:\n",
"https://plotly.com/python/2d-histogram-contour/"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
" \n",
" \n",
" <div id=\"60052a21-eb85-4cbe-98c5-4586a3a7ba62\" class=\"plotly-graph-div\" style=\"height:500px; width:500px;\"></div>\n",
" <script type=\"text/javascript\">\n",
" require([\"plotly\"], function(Plotly) {\n",
" window.PLOTLYENV=window.PLOTLYENV || {};\n",
" \n",
" if (document.getElementById(\"60052a21-eb85-4cbe-98c5-4586a3a7ba62\")) {\n",
" Plotly.newPlot(\n",
" '60052a21-eb85-4cbe-98c5-4586a3a7ba62',\n",
" [{\"colorscale\": [[0.0, \"rgb(247,251,255)\"], [0.125, \"rgb(222,235,247)\"], [0.25, \"rgb(198,219,239)\"], [0.375, \"rgb(158,202,225)\"], [0.5, \"rgb(107,174,214)\"], [0.625, \"rgb(66,146,198)\"], [0.75, \"rgb(33,113,181)\"], [0.875, \"rgb(8,81,156)\"], [1.0, \"rgb(8,48,107)\"]], \"type\": \"histogram2dcontour\", \"x\": [130, 130, 152, 109, 136, 136, 136, 136, 131, 108, 108, 164, 164, 164, 209, 209, 209, 61, 90, 90, 90, 90, 98, 90, 90, 90, 98, 122, 156, 92, 92, 79, 92, 92, 92, 92, 110, 110, 110, 110, 110, 110, 111, 119, 258, 258, 326, 91, 91, 91, 91, 91, 70, 70, 70, 80, 122, 122, 122, 122, 122, 122, 140, 134, 183, 183, 183, 183, 234, 234, 308, 304, 140, 92, 92, 92, 98, 110, 122, 156, 156, 156, 122, 122, 110, 110, 97, 103, 97, 97, 97, 97, 97, 97, 97, 97, 120, 120, 181, 181, 181, 181, 181, 181, 120, 152, 120, 152, 120, 152, 120, 152, 120, 152, 134, 90, 98, 90, 90, 98, 122, 156, 151, 194, 194, 194, 132, 132, 121, 121, 121, 121, 121, 121, 97, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 92, 92, 92, 92, 92, 92, 98, 98, 110, 110, 98, 98, 98, 98, 98, 98, 98, 146, 146, 146, 146, 146, 146, 122, 110, 122, 122, 122, 171, 171, 171, 161, 97, 109, 97, 109, 109, 97, 109, 109, 109, 136, 97, 109, 141, 141, 141, 141, 130, 130, 141, 141, 173, 145, 141], \"y\": [111, 111, 154, 102, 115, 110, 110, 110, 140, 101, 101, 121, 121, 121, 182, 182, 182, 48, 70, 70, 68, 68, 102, 68, 68, 68, 102, 88, 145, 58, 76, 60, 76, 76, 76, 76, 86, 86, 86, 86, 101, 100, 78, 90, 176, 176, 262, 68, 68, 68, 68, 68, 101, 101, 101, 135, 84, 84, 84, 84, 64, 84, 120, 72, 123, 123, 123, 123, 155, 155, 184, 184, 175, 68, 68, 68, 102, 116, 88, 145, 145, 145, 88, 88, 116, 116, 69, 55, 69, 69, 69, 69, 69, 69, 69, 69, 97, 97, 152, 152, 152, 160, 200, 160, 97, 95, 97, 95, 95, 95, 95, 95, 97, 95, 142, 68, 102, 68, 68, 68, 88, 145, 143, 207, 207, 207, 90, 90, 110, 110, 110, 110, 160, 160, 69, 73, 73, 82, 82, 94, 82, 111, 82, 94, 82, 111, 62, 62, 62, 62, 62, 62, 70, 70, 56, 56, 70, 70, 70, 70, 70, 112, 112, 116, 116, 116, 116, 116, 116, 92, 73, 92, 92, 92, 161, 161, 156, 156, 52, 85, 52, 85, 85, 68, 100, 90, 90, 110, 68, 88, 114, 114, 114, 114, 162, 162, 114, 160, 134, 106, 114]}],\n",
" {\"height\": 500, \"template\": {\"data\": {\"bar\": [{\"error_x\": {\"color\": \"#2a3f5f\"}, \"error_y\": {\"color\": \"#2a3f5f\"}, \"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}}, \"type\": \"bar\"}], \"barpolar\": [{\"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}}, \"type\": \"barpolar\"}], \"carpet\": [{\"aaxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"baxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"type\": \"carpet\"}], \"choropleth\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"choropleth\"}], \"contour\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"contour\"}], \"contourcarpet\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"contourcarpet\"}], \"heatmap\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"heatmap\"}], \"heatmapgl\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"heatmapgl\"}], \"histogram\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"histogram\"}], \"histogram2d\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"histogram2d\"}], \"histogram2dcontour\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"histogram2dcontour\"}], \"mesh3d\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"mesh3d\"}], \"parcoords\": [{\"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"parcoords\"}], \"pie\": [{\"automargin\": true, \"type\": \"pie\"}], \"scatter\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatter\"}], \"scatter3d\": [{\"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatter3d\"}], \"scattercarpet\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattercarpet\"}], \"scattergeo\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattergeo\"}], \"scattergl\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattergl\"}], \"scattermapbox\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattermapbox\"}], \"scatterpolar\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterpolar\"}], \"scatterpolargl\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterpolargl\"}], \"scatterternary\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterternary\"}], \"surface\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"surface\"}], \"table\": [{\"cells\": {\"fill\": {\"color\": \"#EBF0F8\"}, \"line\": {\"color\": \"white\"}}, \"header\": {\"fill\": {\"color\": \"#C8D4E3\"}, \"line\": {\"color\": \"white\"}}, \"type\": \"table\"}]}, \"layout\": {\"annotationdefaults\": {\"arrowcolor\": \"#2a3f5f\", \"arrowhead\": 0, \"arrowwidth\": 1}, \"coloraxis\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"colorscale\": {\"diverging\": [[0, \"#8e0152\"], [0.1, \"#c51b7d\"], [0.2, \"#de77ae\"], [0.3, \"#f1b6da\"], [0.4, \"#fde0ef\"], [0.5, \"#f7f7f7\"], [0.6, \"#e6f5d0\"], [0.7, \"#b8e186\"], [0.8, \"#7fbc41\"], [0.9, \"#4d9221\"], [1, \"#276419\"]], \"sequential\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"sequentialminus\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}, \"colorway\": [\"#636efa\", \"#EF553B\", \"#00cc96\", \"#ab63fa\", \"#FFA15A\", \"#19d3f3\", \"#FF6692\", \"#B6E880\", \"#FF97FF\", \"#FECB52\"], \"font\": {\"color\": \"#2a3f5f\"}, \"geo\": {\"bgcolor\": \"white\", \"lakecolor\": \"white\", \"landcolor\": \"#E5ECF6\", \"showlakes\": true, \"showland\": true, \"subunitcolor\": \"white\"}, \"hoverlabel\": {\"align\": \"left\"}, \"hovermode\": \"closest\", \"mapbox\": {\"style\": \"light\"}, \"paper_bgcolor\": \"white\", \"plot_bgcolor\": \"#E5ECF6\", \"polar\": {\"angularaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"bgcolor\": \"#E5ECF6\", \"radialaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"scene\": {\"xaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}, \"yaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}, \"zaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}}, \"shapedefaults\": {\"line\": {\"color\": \"#2a3f5f\"}}, \"ternary\": {\"aaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"baxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"bgcolor\": \"#E5ECF6\", \"caxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"title\": {\"x\": 0.05}, \"xaxis\": {\"automargin\": true, \"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"zerolinewidth\": 2}, \"yaxis\": {\"automargin\": true, \"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"zerolinewidth\": 2}}}, \"width\": 500},\n",
" {\"responsive\": true}\n",
" ).then(function(){\n",
" \n",
"var gd = document.getElementById('60052a21-eb85-4cbe-98c5-4586a3a7ba62');\n",
"var x = new MutationObserver(function (mutations, observer) {{\n",
" var display = window.getComputedStyle(gd).display;\n",
" if (!display || display === 'none') {{\n",
" console.log([gd, 'removed!']);\n",
" Plotly.purge(gd);\n",
" observer.disconnect();\n",
" }}\n",
"}});\n",
"\n",
"// Listen for the removal of the full notebook cells\n",
"var notebookContainer = gd.closest('#notebook-container');\n",
"if (notebookContainer) {{\n",
" x.observe(notebookContainer, {childList: true});\n",
"}}\n",
"\n",
"// Listen for the clearing of the current output cell\n",
"var outputEl = gd.closest('.output');\n",
"if (outputEl) {{\n",
" x.observe(outputEl, {childList: true});\n",
"}}\n",
"\n",
" })\n",
" };\n",
" });\n",
" </script>\n",
" </div>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = go.Figure(go.Histogram2dContour(\n",
" x = auto['engine_size'],\n",
" y = auto['horsepower'],\n",
" colorscale = 'Blues'\n",
"))\n",
"fig.update_layout(width=500, height=500)\n",
"fig.show()"
]
},
{
"cell_type": "markdown",
"execution_count": null,
"metadata": {},
"source": [
"## Visualizing pairwise relationships in a dataset\n",
"\n",
"To plot multiple pairwise scatterplots in a dataset, you can use the pairplot() function in Seaborn. This creates a matrix of axes and shows the relationship for each pair of columns in a DataFrame, it also draws the histogram of each variable on the diagonal Axes:\n",
"\n",
"#### Seaborn:"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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Bj169MC0adPw1ltvITw8HDdv3pSD/22Rn5+P+fPnQ6vVIiIiAg0bNpS9rm+//TZat26Nl19+Gc888wzGjh2La9euyes2adIEDRo0QK9evTB79mwsWrRIHnZesGABPD090a9fP4wYMQLR0dHykDlgCnbNz8+3MEpK/wZMH2mRkZF47bXXEBwcjJdfftm9jeNajGepk0RERNDx48fl36WD5j755BPq27cvhYaG0oQJEyg9PV1ernQAKJF1oJ9er6f27dvLgVhEpsBAcxBXcnIyRUVFUdeuXemVV16htWvXWgSe2gt0jYiIoE6dOlHXrl3lf/v37ycioitXrtD48eMpLCyMtFotjRo1in755RciMgX+TZgwgYKDg2nYsGG0Zs0apwNd7927R7NmzaKwsDDq3bs3rV+/Xg4iS0xMpPDwcOratSv17duXPv30UyIyBZxFR0dT165dSavV0syZMykvL4+IiIqKimj16tUUGRlJwcHBNHDgQNq6dSsREW3ZsoUiIiLoj3/8I/Xq1Ys2bNhQbluZmuXFF1+kPXv21HYzGKbKKPscZx4dBVEFxgAYhmGcJDk5GX/4wx/g7++Pf/3rX1i4cCGSkpLQtGnT2m4aw1QJp06dwttvv43vvvuutpviNnCgK8Mw1cK1a9cwffp0FBQUoFWrVli3bl2VGiRpaWlytkxZDh065HRwNsMwtQ97ShinOH36NMaPH29znjnolGEYhmEqAxslDMMwDMO4BJyewDAMwzCMS8BGCcMwDMMwLgEbJQzDMAzDuARslDAMwzAM4xKwUcIwDMMwjEvwf4B923upc+SLAAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 540x540 with 12 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sns.pairplot(auto[['normalized_losses', 'engine_size', 'horsepower']]);"
]
},
{
"cell_type": "markdown",
"execution_count": null,
"metadata": {},
"source": [
"#### Plotly:\n",
"Plotly offer same option with scatter_matrix . Outputs are similar in both plots other than seaborn doesn’t have interactivity.\n",
"\n",
"https://plotly.com/python/splom/"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
" \n",
" \n",
" <div id=\"d55748a8-1584-4fda-ae60-725f286e2e92\" class=\"plotly-graph-div\" style=\"height:700px; width:700px;\"></div>\n",
" <script type=\"text/javascript\">\n",
" require([\"plotly\"], function(Plotly) {\n",
" window.PLOTLYENV=window.PLOTLYENV || {};\n",
" \n",
" if (document.getElementById(\"d55748a8-1584-4fda-ae60-725f286e2e92\")) {\n",
" Plotly.newPlot(\n",
" 'd55748a8-1584-4fda-ae60-725f286e2e92',\n",
" [{\"dimensions\": [{\"axis\": {\"matches\": true}, \"label\": \"normalized_losses\", \"values\": [168, 168, 168, 164, 164, 161, 158, 168, 158, 192, 192, 188, 188, 149, 149, 149, 149, 121, 98, 81, 118, 118, 118, 148, 148, 148, 148, 110, 145, 137, 137, 101, 101, 101, 110, 78, 106, 106, 85, 85, 85, 107, 110, 110, 145, 115, 115, 104, 104, 104, 113, 113, 150, 150, 150, 150, 129, 115, 129, 115, 119, 115, 118, 105, 93, 93, 93, 93, 122, 142, 140, 140, 140, 161, 161, 161, 161, 153, 153, 139, 139, 139, 125, 125, 125, 137, 128, 128, 128, 122, 103, 128, 128, 122, 103, 168, 106, 106, 128, 108, 108, 194, 194, 231, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 119, 119, 154, 154, 154, 74, 141, 186, 128, 128, 128, 129, 129, 150, 104, 150, 104, 150, 104, 83, 83, 83, 102, 102, 102, 102, 102, 89, 89, 85, 85, 87, 87, 74, 77, 81, 91, 91, 91, 91, 91, 91, 91, 91, 168, 168, 168, 168, 134, 134, 134, 134, 134, 134, 65, 65, 65, 65, 65, 197, 197, 90, 133, 122, 122, 94, 94, 94, 94, 94, 137, 256, 132, 132, 132, 103, 74, 103, 74, 103, 74, 95, 95, 95, 95, 95]}, {\"axis\": {\"matches\": true}, \"label\": \"engine_size\", \"values\": [130, 130, 152, 109, 136, 136, 136, 136, 131, 108, 108, 164, 164, 164, 209, 209, 209, 61, 90, 90, 90, 90, 98, 90, 90, 90, 98, 122, 156, 92, 92, 79, 92, 92, 92, 92, 110, 110, 110, 110, 110, 110, 111, 119, 258, 258, 326, 91, 91, 91, 91, 91, 70, 70, 70, 80, 122, 122, 122, 122, 122, 122, 140, 134, 183, 183, 183, 183, 234, 234, 308, 304, 140, 92, 92, 92, 98, 110, 122, 156, 156, 156, 122, 122, 110, 110, 97, 103, 97, 97, 97, 97, 97, 97, 97, 97, 120, 120, 181, 181, 181, 181, 181, 181, 120, 152, 120, 152, 120, 152, 120, 152, 120, 152, 134, 90, 98, 90, 90, 98, 122, 156, 151, 194, 194, 194, 132, 132, 121, 121, 121, 121, 121, 121, 97, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 92, 92, 92, 92, 92, 92, 98, 98, 110, 110, 98, 98, 98, 98, 98, 98, 98, 146, 146, 146, 146, 146, 146, 122, 110, 122, 122, 122, 171, 171, 171, 161, 97, 109, 97, 109, 109, 97, 109, 109, 109, 136, 97, 109, 141, 141, 141, 141, 130, 130, 141, 141, 173, 145, 141]}, {\"axis\": {\"matches\": true}, \"label\": \"horsepower\", \"values\": [111, 111, 154, 102, 115, 110, 110, 110, 140, 101, 101, 121, 121, 121, 182, 182, 182, 48, 70, 70, 68, 68, 102, 68, 68, 68, 102, 88, 145, 58, 76, 60, 76, 76, 76, 76, 86, 86, 86, 86, 101, 100, 78, 90, 176, 176, 262, 68, 68, 68, 68, 68, 101, 101, 101, 135, 84, 84, 84, 84, 64, 84, 120, 72, 123, 123, 123, 123, 155, 155, 184, 184, 175, 68, 68, 68, 102, 116, 88, 145, 145, 145, 88, 88, 116, 116, 69, 55, 69, 69, 69, 69, 69, 69, 69, 69, 97, 97, 152, 152, 152, 160, 200, 160, 97, 95, 97, 95, 95, 95, 95, 95, 97, 95, 142, 68, 102, 68, 68, 68, 88, 145, 143, 207, 207, 207, 90, 90, 110, 110, 110, 110, 160, 160, 69, 73, 73, 82, 82, 94, 82, 111, 82, 94, 82, 111, 62, 62, 62, 62, 62, 62, 70, 70, 56, 56, 70, 70, 70, 70, 70, 112, 112, 116, 116, 116, 116, 116, 116, 92, 73, 92, 92, 92, 161, 161, 156, 156, 52, 85, 52, 85, 85, 68, 100, 90, 90, 110, 68, 88, 114, 114, 114, 114, 162, 162, 114, 160, 134, 106, 114]}], \"hovertemplate\": \"%{xaxis.title.text}=%{x}<br>%{yaxis.title.text}=%{y}<extra></extra>\", \"legendgroup\": \"\", \"marker\": {\"color\": \"#636efa\", \"symbol\": \"circle\"}, \"name\": \"\", \"showlegend\": false, \"type\": \"splom\"}],\n",
" {\"dragmode\": \"select\", \"height\": 700, \"legend\": {\"tracegroupgap\": 0}, \"margin\": {\"t\": 60}, \"template\": {\"data\": {\"bar\": [{\"error_x\": {\"color\": \"#2a3f5f\"}, \"error_y\": {\"color\": \"#2a3f5f\"}, \"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}}, \"type\": \"bar\"}], \"barpolar\": [{\"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}}, \"type\": \"barpolar\"}], \"carpet\": [{\"aaxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"baxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"type\": \"carpet\"}], \"choropleth\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"choropleth\"}], \"contour\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"contour\"}], \"contourcarpet\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"contourcarpet\"}], \"heatmap\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"heatmap\"}], \"heatmapgl\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"heatmapgl\"}], \"histogram\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"histogram\"}], \"histogram2d\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"histogram2d\"}], \"histogram2dcontour\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"histogram2dcontour\"}], \"mesh3d\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"mesh3d\"}], \"parcoords\": [{\"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"parcoords\"}], \"pie\": [{\"automargin\": true, \"type\": \"pie\"}], \"scatter\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatter\"}], \"scatter3d\": [{\"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatter3d\"}], \"scattercarpet\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattercarpet\"}], \"scattergeo\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattergeo\"}], \"scattergl\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattergl\"}], \"scattermapbox\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattermapbox\"}], \"scatterpolar\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterpolar\"}], \"scatterpolargl\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterpolargl\"}], \"scatterternary\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterternary\"}], \"surface\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"surface\"}], \"table\": [{\"cells\": {\"fill\": {\"color\": \"#EBF0F8\"}, \"line\": {\"color\": \"white\"}}, \"header\": {\"fill\": {\"color\": \"#C8D4E3\"}, \"line\": {\"color\": \"white\"}}, \"type\": \"table\"}]}, \"layout\": {\"annotationdefaults\": {\"arrowcolor\": \"#2a3f5f\", \"arrowhead\": 0, \"arrowwidth\": 1}, \"coloraxis\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"colorscale\": {\"diverging\": [[0, \"#8e0152\"], [0.1, \"#c51b7d\"], [0.2, \"#de77ae\"], [0.3, \"#f1b6da\"], [0.4, \"#fde0ef\"], [0.5, \"#f7f7f7\"], [0.6, \"#e6f5d0\"], [0.7, \"#b8e186\"], [0.8, \"#7fbc41\"], [0.9, \"#4d9221\"], [1, \"#276419\"]], \"sequential\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"sequentialminus\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}, \"colorway\": [\"#636efa\", \"#EF553B\", \"#00cc96\", \"#ab63fa\", \"#FFA15A\", \"#19d3f3\", \"#FF6692\", \"#B6E880\", \"#FF97FF\", \"#FECB52\"], \"font\": {\"color\": \"#2a3f5f\"}, \"geo\": {\"bgcolor\": \"white\", \"lakecolor\": \"white\", \"landcolor\": \"#E5ECF6\", \"showlakes\": true, \"showland\": true, \"subunitcolor\": \"white\"}, \"hoverlabel\": {\"align\": \"left\"}, \"hovermode\": \"closest\", \"mapbox\": {\"style\": \"light\"}, \"paper_bgcolor\": \"white\", \"plot_bgcolor\": \"#E5ECF6\", \"polar\": {\"angularaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"bgcolor\": \"#E5ECF6\", \"radialaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"scene\": {\"xaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}, \"yaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}, \"zaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}}, \"shapedefaults\": {\"line\": {\"color\": \"#2a3f5f\"}}, \"ternary\": {\"aaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"baxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"bgcolor\": \"#E5ECF6\", \"caxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"title\": {\"x\": 0.05}, \"xaxis\": {\"automargin\": true, \"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"zerolinewidth\": 2}, \"yaxis\": {\"automargin\": true, \"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"zerolinewidth\": 2}}}, \"width\": 700},\n",
" {\"responsive\": true}\n",
" ).then(function(){\n",
" \n",
"var gd = document.getElementById('d55748a8-1584-4fda-ae60-725f286e2e92');\n",
"var x = new MutationObserver(function (mutations, observer) {{\n",
" var display = window.getComputedStyle(gd).display;\n",
" if (!display || display === 'none') {{\n",
" console.log([gd, 'removed!']);\n",
" Plotly.purge(gd);\n",
" observer.disconnect();\n",
" }}\n",
"}});\n",
"\n",
"// Listen for the removal of the full notebook cells\n",
"var notebookContainer = gd.closest('#notebook-container');\n",
"if (notebookContainer) {{\n",
" x.observe(notebookContainer, {childList: true});\n",
"}}\n",
"\n",
"// Listen for the clearing of the current output cell\n",
"var outputEl = gd.closest('.output');\n",
"if (outputEl) {{\n",
" x.observe(outputEl, {childList: true});\n",
"}}\n",
"\n",
" })\n",
" };\n",
" });\n",
" </script>\n",
" </div>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = px.scatter_matrix(auto, dimensions=auto[['normalized_losses', 'engine_size', 'horsepower']],width=700, height=700)\n",
"fig.show()"
]
},
{
"cell_type": "markdown",
"execution_count": null,
"metadata": {},
"source": [
"On the other hand Plotly Express can extend more drill down using various colors to another variable as below. Seaborn doesn’t support it."
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
" \n",
" \n",
" <div id=\"d27ea3e8-ea96-4cd7-86f0-2798e12ecabd\" class=\"plotly-graph-div\" style=\"height:700px; width:700px;\"></div>\n",
" <script type=\"text/javascript\">\n",
" require([\"plotly\"], function(Plotly) {\n",
" window.PLOTLYENV=window.PLOTLYENV || {};\n",
" \n",
" if (document.getElementById(\"d27ea3e8-ea96-4cd7-86f0-2798e12ecabd\")) {\n",
" Plotly.newPlot(\n",
" 'd27ea3e8-ea96-4cd7-86f0-2798e12ecabd',\n",
" [{\"dimensions\": [{\"axis\": {\"matches\": true}, \"label\": \"normalized_losses\", \"values\": [168, 168, 168, 164, 164, 161, 158, 168, 158, 192, 192, 188, 188, 149, 149, 149, 149, 121, 98, 81, 118, 118, 118, 148, 148, 148, 148, 110, 145, 137, 137, 101, 101, 101, 110, 78, 106, 106, 85, 85, 85, 107, 110, 110, 145, 115, 115, 104, 104, 104, 113, 113, 150, 150, 150, 150, 129, 115, 129, 115, 115, 118, 122, 142, 140, 140, 140, 161, 161, 161, 161, 153, 153, 139, 139, 139, 125, 125, 125, 137, 128, 128, 122, 103, 128, 128, 122, 103, 168, 106, 106, 128, 108, 108, 194, 194, 231, 161, 161, 161, 161, 161, 161, 119, 119, 154, 154, 154, 74, 141, 186, 128, 128, 128, 129, 129, 150, 104, 150, 104, 150, 104, 83, 83, 83, 102, 102, 102, 102, 102, 89, 89, 85, 85, 87, 87, 74, 77, 81, 91, 91, 91, 91, 91, 91, 168, 168, 168, 168, 134, 134, 134, 134, 134, 134, 65, 65, 65, 65, 197, 197, 90, 133, 122, 94, 94, 94, 137, 256, 132, 132, 103, 74, 103, 74, 103, 74, 95, 95, 95, 95]}, {\"axis\": {\"matches\": true}, \"label\": \"engine_size\", \"values\": [130, 130, 152, 109, 136, 136, 136, 136, 131, 108, 108, 164, 164, 164, 209, 209, 209, 61, 90, 90, 90, 90, 98, 90, 90, 90, 98, 122, 156, 92, 92, 79, 92, 92, 92, 92, 110, 110, 110, 110, 110, 110, 111, 119, 258, 258, 326, 91, 91, 91, 91, 91, 70, 70, 70, 80, 122, 122, 122, 122, 122, 140, 234, 234, 308, 304, 140, 92, 92, 92, 98, 110, 122, 156, 156, 156, 122, 122, 110, 110, 97, 97, 97, 97, 97, 97, 97, 97, 97, 120, 120, 181, 181, 181, 181, 181, 181, 120, 120, 120, 120, 120, 134, 90, 98, 90, 90, 98, 122, 156, 151, 194, 194, 194, 132, 132, 121, 121, 121, 121, 121, 121, 97, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 92, 92, 92, 92, 92, 92, 98, 98, 98, 98, 98, 98, 98, 98, 98, 146, 146, 146, 146, 146, 146, 122, 122, 122, 122, 171, 171, 171, 161, 109, 109, 109, 109, 109, 109, 136, 109, 141, 141, 141, 141, 130, 130, 141, 141, 173, 141]}, {\"axis\": {\"matches\": true}, \"label\": \"horsepower\", \"values\": [111, 111, 154, 102, 115, 110, 110, 110, 140, 101, 101, 121, 121, 121, 182, 182, 182, 48, 70, 70, 68, 68, 102, 68, 68, 68, 102, 88, 145, 58, 76, 60, 76, 76, 76, 76, 86, 86, 86, 86, 101, 100, 78, 90, 176, 176, 262, 68, 68, 68, 68, 68, 101, 101, 101, 135, 84, 84, 84, 84, 84, 120, 155, 155, 184, 184, 175, 68, 68, 68, 102, 116, 88, 145, 145, 145, 88, 88, 116, 116, 69, 69, 69, 69, 69, 69, 69, 69, 69, 97, 97, 152, 152, 152, 160, 200, 160, 97, 97, 95, 95, 97, 142, 68, 102, 68, 68, 68, 88, 145, 143, 207, 207, 207, 90, 90, 110, 110, 110, 110, 160, 160, 69, 73, 73, 82, 82, 94, 82, 111, 82, 94, 82, 111, 62, 62, 62, 62, 62, 62, 70, 70, 70, 70, 70, 70, 70, 112, 112, 116, 116, 116, 116, 116, 116, 92, 92, 92, 92, 161, 161, 156, 156, 85, 85, 85, 100, 90, 90, 110, 88, 114, 114, 114, 114, 162, 162, 114, 160, 134, 114]}], \"hovertemplate\": \"fuel_type=gas<br>%{xaxis.title.text}=%{x}<br>%{yaxis.title.text}=%{y}<extra></extra>\", \"legendgroup\": \"gas\", \"marker\": {\"color\": \"#636efa\", \"symbol\": \"circle\"}, \"name\": \"gas\", \"showlegend\": true, \"type\": \"splom\"}, {\"dimensions\": [{\"axis\": {\"matches\": true}, \"label\": \"normalized_losses\", \"values\": [119, 105, 93, 93, 93, 93, 128, 161, 161, 161, 161, 161, 91, 91, 65, 122, 94, 94, 132, 95]}, {\"axis\": {\"matches\": true}, \"label\": \"engine_size\", \"values\": [122, 134, 183, 183, 183, 183, 103, 152, 152, 152, 152, 152, 110, 110, 110, 97, 97, 97, 97, 145]}, {\"axis\": {\"matches\": true}, \"label\": \"horsepower\", \"values\": [64, 72, 123, 123, 123, 123, 55, 95, 95, 95, 95, 95, 56, 56, 73, 52, 52, 68, 68, 106]}], \"hovertemplate\": \"fuel_type=diesel<br>%{xaxis.title.text}=%{x}<br>%{yaxis.title.text}=%{y}<extra></extra>\", \"legendgroup\": \"diesel\", \"marker\": {\"color\": \"#EF553B\", \"symbol\": \"circle\"}, \"name\": \"diesel\", \"showlegend\": true, \"type\": \"splom\"}],\n",
" {\"dragmode\": \"select\", \"height\": 700, \"legend\": {\"title\": {\"text\": \"fuel_type\"}, \"tracegroupgap\": 0}, \"margin\": {\"t\": 60}, \"template\": {\"data\": {\"bar\": [{\"error_x\": {\"color\": \"#2a3f5f\"}, \"error_y\": {\"color\": \"#2a3f5f\"}, \"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}}, \"type\": \"bar\"}], \"barpolar\": [{\"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}}, \"type\": \"barpolar\"}], \"carpet\": [{\"aaxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"baxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"type\": \"carpet\"}], \"choropleth\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"choropleth\"}], \"contour\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"contour\"}], \"contourcarpet\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"contourcarpet\"}], \"heatmap\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"heatmap\"}], \"heatmapgl\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"heatmapgl\"}], \"histogram\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"histogram\"}], \"histogram2d\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"histogram2d\"}], \"histogram2dcontour\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"histogram2dcontour\"}], \"mesh3d\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"mesh3d\"}], \"parcoords\": [{\"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"parcoords\"}], \"pie\": [{\"automargin\": true, \"type\": \"pie\"}], \"scatter\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatter\"}], \"scatter3d\": [{\"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatter3d\"}], \"scattercarpet\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattercarpet\"}], \"scattergeo\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattergeo\"}], \"scattergl\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattergl\"}], \"scattermapbox\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattermapbox\"}], \"scatterpolar\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterpolar\"}], \"scatterpolargl\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterpolargl\"}], \"scatterternary\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterternary\"}], \"surface\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"surface\"}], \"table\": [{\"cells\": {\"fill\": {\"color\": \"#EBF0F8\"}, \"line\": {\"color\": \"white\"}}, \"header\": {\"fill\": {\"color\": \"#C8D4E3\"}, \"line\": {\"color\": \"white\"}}, \"type\": \"table\"}]}, \"layout\": {\"annotationdefaults\": {\"arrowcolor\": \"#2a3f5f\", \"arrowhead\": 0, \"arrowwidth\": 1}, \"coloraxis\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"colorscale\": {\"diverging\": [[0, \"#8e0152\"], [0.1, \"#c51b7d\"], [0.2, \"#de77ae\"], [0.3, \"#f1b6da\"], [0.4, \"#fde0ef\"], [0.5, \"#f7f7f7\"], [0.6, \"#e6f5d0\"], [0.7, \"#b8e186\"], [0.8, \"#7fbc41\"], [0.9, \"#4d9221\"], [1, \"#276419\"]], \"sequential\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"sequentialminus\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}, \"colorway\": [\"#636efa\", \"#EF553B\", \"#00cc96\", \"#ab63fa\", \"#FFA15A\", \"#19d3f3\", \"#FF6692\", \"#B6E880\", \"#FF97FF\", \"#FECB52\"], \"font\": {\"color\": \"#2a3f5f\"}, \"geo\": {\"bgcolor\": \"white\", \"lakecolor\": \"white\", \"landcolor\": \"#E5ECF6\", \"showlakes\": true, \"showland\": true, \"subunitcolor\": \"white\"}, \"hoverlabel\": {\"align\": \"left\"}, \"hovermode\": \"closest\", \"mapbox\": {\"style\": \"light\"}, \"paper_bgcolor\": \"white\", \"plot_bgcolor\": \"#E5ECF6\", \"polar\": {\"angularaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"bgcolor\": \"#E5ECF6\", \"radialaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"scene\": {\"xaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}, \"yaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}, \"zaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}}, \"shapedefaults\": {\"line\": {\"color\": \"#2a3f5f\"}}, \"ternary\": {\"aaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"baxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"bgcolor\": \"#E5ECF6\", \"caxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"title\": {\"x\": 0.05}, \"xaxis\": {\"automargin\": true, \"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"zerolinewidth\": 2}, \"yaxis\": {\"automargin\": true, \"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"zerolinewidth\": 2}}}, \"width\": 700},\n",
" {\"responsive\": true}\n",
" ).then(function(){\n",
" \n",
"var gd = document.getElementById('d27ea3e8-ea96-4cd7-86f0-2798e12ecabd');\n",
"var x = new MutationObserver(function (mutations, observer) {{\n",
" var display = window.getComputedStyle(gd).display;\n",
" if (!display || display === 'none') {{\n",
" console.log([gd, 'removed!']);\n",
" Plotly.purge(gd);\n",
" observer.disconnect();\n",
" }}\n",
"}});\n",
"\n",
"// Listen for the removal of the full notebook cells\n",
"var notebookContainer = gd.closest('#notebook-container');\n",
"if (notebookContainer) {{\n",
" x.observe(notebookContainer, {childList: true});\n",
"}}\n",
"\n",
"// Listen for the clearing of the current output cell\n",
"var outputEl = gd.closest('.output');\n",
"if (outputEl) {{\n",
" x.observe(outputEl, {childList: true});\n",
"}}\n",
"\n",
" })\n",
" };\n",
" });\n",
" </script>\n",
" </div>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = px.scatter_matrix(auto, dimensions=auto[['normalized_losses', 'engine_size', 'horsepower']],color=\"fuel_type\",width=700, height=700)\n",
"fig.show()"
]
},
{
"cell_type": "markdown",
"execution_count": null,
"metadata": {},
"source": [
"## Plotting with categorical data\n",
"\n",
"Categorical variables and numerical variables drill down can be done easily with strip plot, box plot , violin plot which offered by both libraries. Both of them offers great looking plots, but Plotly will allow you to analyze variability in comprehensive way with interactivity. Below Examples will work you through a great comparison.\n",
"\n",
"https://plotly.com/python/box-plots/\n",
"\n",
"https://plotly.com/python/violin/\n",
"\n",
"\n",
"\n",
"### strip plot Comparison\n",
"\n",
"#### Seaborn:"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sns.stripplot(auto['fuel_type'], auto['horsepower'], jitter=True);"
]
},
{
"cell_type": "markdown",
"execution_count": null,
"metadata": {},
"source": [
"#### Plotly:\n",
"https://plotly.com/python/strip-charts/"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
" \n",
" \n",
" <div id=\"8a095269-355f-4c14-9ef2-8007e6e97131\" class=\"plotly-graph-div\" style=\"height:400px; width:600px;\"></div>\n",
" <script type=\"text/javascript\">\n",
" require([\"plotly\"], function(Plotly) {\n",
" window.PLOTLYENV=window.PLOTLYENV || {};\n",
" \n",
" if (document.getElementById(\"8a095269-355f-4c14-9ef2-8007e6e97131\")) {\n",
" Plotly.newPlot(\n",
" '8a095269-355f-4c14-9ef2-8007e6e97131',\n",
" [{\"alignmentgroup\": \"True\", \"boxpoints\": \"all\", \"fillcolor\": \"rgba(255,255,255,0)\", \"hoveron\": \"points\", \"hovertemplate\": \"fuel_type=%{x}<br>horsepower=%{y}<extra></extra>\", \"legendgroup\": \"\", \"line\": {\"color\": \"rgba(255,255,255,0)\"}, \"marker\": {\"color\": \"#636efa\"}, \"name\": \"\", \"offsetgroup\": \"\", \"orientation\": \"v\", \"pointpos\": 0, \"showlegend\": false, \"type\": \"box\", \"x\": [\"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"diesel\", \"gas\", \"gas\", \"diesel\", \"diesel\", \"diesel\", \"diesel\", \"diesel\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"diesel\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"diesel\", \"gas\", \"diesel\", \"gas\", \"diesel\", \"gas\", \"diesel\", \"gas\", \"diesel\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"diesel\", \"diesel\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"diesel\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"diesel\", \"gas\", \"diesel\", \"gas\", \"gas\", \"diesel\", \"gas\", \"gas\", \"gas\", \"gas\", \"diesel\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"gas\", \"diesel\", \"gas\"], \"x0\": \" \", \"xaxis\": \"x\", \"y\": [111, 111, 154, 102, 115, 110, 110, 110, 140, 101, 101, 121, 121, 121, 182, 182, 182, 48, 70, 70, 68, 68, 102, 68, 68, 68, 102, 88, 145, 58, 76, 60, 76, 76, 76, 76, 86, 86, 86, 86, 101, 100, 78, 90, 176, 176, 262, 68, 68, 68, 68, 68, 101, 101, 101, 135, 84, 84, 84, 84, 64, 84, 120, 72, 123, 123, 123, 123, 155, 155, 184, 184, 175, 68, 68, 68, 102, 116, 88, 145, 145, 145, 88, 88, 116, 116, 69, 55, 69, 69, 69, 69, 69, 69, 69, 69, 97, 97, 152, 152, 152, 160, 200, 160, 97, 95, 97, 95, 95, 95, 95, 95, 97, 95, 142, 68, 102, 68, 68, 68, 88, 145, 143, 207, 207, 207, 90, 90, 110, 110, 110, 110, 160, 160, 69, 73, 73, 82, 82, 94, 82, 111, 82, 94, 82, 111, 62, 62, 62, 62, 62, 62, 70, 70, 56, 56, 70, 70, 70, 70, 70, 112, 112, 116, 116, 116, 116, 116, 116, 92, 73, 92, 92, 92, 161, 161, 156, 156, 52, 85, 52, 85, 85, 68, 100, 90, 90, 110, 68, 88, 114, 114, 114, 114, 162, 162, 114, 160, 134, 106, 114], \"y0\": \" \", \"yaxis\": \"y\"}],\n",
" {\"boxmode\": \"group\", \"height\": 400, \"legend\": {\"tracegroupgap\": 0}, \"margin\": {\"t\": 60}, \"template\": {\"data\": {\"bar\": [{\"error_x\": {\"color\": \"#2a3f5f\"}, \"error_y\": {\"color\": \"#2a3f5f\"}, \"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}}, \"type\": \"bar\"}], \"barpolar\": [{\"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}}, \"type\": \"barpolar\"}], \"carpet\": [{\"aaxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"baxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"type\": \"carpet\"}], \"choropleth\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"choropleth\"}], \"contour\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"contour\"}], \"contourcarpet\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"contourcarpet\"}], \"heatmap\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"heatmap\"}], \"heatmapgl\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"heatmapgl\"}], \"histogram\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"histogram\"}], \"histogram2d\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"histogram2d\"}], \"histogram2dcontour\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"histogram2dcontour\"}], \"mesh3d\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"mesh3d\"}], \"parcoords\": [{\"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"parcoords\"}], \"pie\": [{\"automargin\": true, \"type\": \"pie\"}], \"scatter\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatter\"}], \"scatter3d\": [{\"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatter3d\"}], \"scattercarpet\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattercarpet\"}], \"scattergeo\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattergeo\"}], \"scattergl\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattergl\"}], \"scattermapbox\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattermapbox\"}], \"scatterpolar\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterpolar\"}], \"scatterpolargl\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterpolargl\"}], \"scatterternary\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterternary\"}], \"surface\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"surface\"}], \"table\": [{\"cells\": {\"fill\": {\"color\": \"#EBF0F8\"}, \"line\": {\"color\": \"white\"}}, \"header\": {\"fill\": {\"color\": \"#C8D4E3\"}, \"line\": {\"color\": \"white\"}}, \"type\": \"table\"}]}, \"layout\": {\"annotationdefaults\": {\"arrowcolor\": \"#2a3f5f\", \"arrowhead\": 0, \"arrowwidth\": 1}, \"coloraxis\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"colorscale\": {\"diverging\": [[0, \"#8e0152\"], [0.1, \"#c51b7d\"], [0.2, \"#de77ae\"], [0.3, \"#f1b6da\"], [0.4, \"#fde0ef\"], [0.5, \"#f7f7f7\"], [0.6, \"#e6f5d0\"], [0.7, \"#b8e186\"], [0.8, \"#7fbc41\"], [0.9, \"#4d9221\"], [1, \"#276419\"]], \"sequential\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"sequentialminus\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}, \"colorway\": [\"#636efa\", \"#EF553B\", \"#00cc96\", \"#ab63fa\", \"#FFA15A\", \"#19d3f3\", \"#FF6692\", \"#B6E880\", \"#FF97FF\", \"#FECB52\"], \"font\": {\"color\": \"#2a3f5f\"}, \"geo\": {\"bgcolor\": \"white\", \"lakecolor\": \"white\", \"landcolor\": \"#E5ECF6\", \"showlakes\": true, \"showland\": true, \"subunitcolor\": \"white\"}, \"hoverlabel\": {\"align\": \"left\"}, \"hovermode\": \"closest\", \"mapbox\": {\"style\": \"light\"}, \"paper_bgcolor\": \"white\", \"plot_bgcolor\": \"#E5ECF6\", \"polar\": {\"angularaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"bgcolor\": \"#E5ECF6\", \"radialaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"scene\": {\"xaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}, \"yaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}, \"zaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}}, \"shapedefaults\": {\"line\": {\"color\": \"#2a3f5f\"}}, \"ternary\": {\"aaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"baxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"bgcolor\": \"#E5ECF6\", \"caxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"title\": {\"x\": 0.05}, \"xaxis\": {\"automargin\": true, \"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"zerolinewidth\": 2}, \"yaxis\": {\"automargin\": true, \"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"zerolinewidth\": 2}}}, \"width\": 600, \"xaxis\": {\"anchor\": \"y\", \"domain\": [0.0, 1.0], \"title\": {\"text\": \"fuel_type\"}}, \"yaxis\": {\"anchor\": \"x\", \"domain\": [0.0, 1.0], \"title\": {\"text\": \"horsepower\"}}},\n",
" {\"responsive\": true}\n",
" ).then(function(){\n",
" \n",
"var gd = document.getElementById('8a095269-355f-4c14-9ef2-8007e6e97131');\n",
"var x = new MutationObserver(function (mutations, observer) {{\n",
" var display = window.getComputedStyle(gd).display;\n",
" if (!display || display === 'none') {{\n",
" console.log([gd, 'removed!']);\n",
" Plotly.purge(gd);\n",
" observer.disconnect();\n",
" }}\n",
"}});\n",
"\n",
"// Listen for the removal of the full notebook cells\n",
"var notebookContainer = gd.closest('#notebook-container');\n",
"if (notebookContainer) {{\n",
" x.observe(notebookContainer, {childList: true});\n",
"}}\n",
"\n",
"// Listen for the clearing of the current output cell\n",
"var outputEl = gd.closest('.output');\n",
"if (outputEl) {{\n",
" x.observe(outputEl, {childList: true});\n",
"}}\n",
"\n",
" })\n",
" };\n",
" });\n",
" </script>\n",
" </div>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = px.strip(auto, x=\"fuel_type\", y=\"horsepower\",width=600, height=400)\n",
"fig.show()"
]
},
{
"cell_type": "markdown",
"execution_count": null,
"metadata": {},
"source": [
"### Box plot Comparison\n",
"\n",
"This kind of plot shows the three quartile values of the distribution along with extreme values. The “whiskers” extend to points that lie within 1.5 IQRs of the lower and upper quartile, and then observations that fall outside this range are displayed independently. \n",
"\n",
"#### Seaborn:"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sns.boxplot(auto['number_of_doors'], auto['horsepower']);"
]
},
{
"cell_type": "markdown",
"execution_count": null,
"metadata": {},
"source": [
"#### Plotly:\n",
"https://plotly.com/python/box-plots/\n"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
" \n",
" \n",
" <div id=\"5a279102-a5e5-46cb-9a9d-2898df88550a\" class=\"plotly-graph-div\" style=\"height:400px; width:600px;\"></div>\n",
" <script type=\"text/javascript\">\n",
" require([\"plotly\"], function(Plotly) {\n",
" window.PLOTLYENV=window.PLOTLYENV || {};\n",
" \n",
" if (document.getElementById(\"5a279102-a5e5-46cb-9a9d-2898df88550a\")) {\n",
" Plotly.newPlot(\n",
" '5a279102-a5e5-46cb-9a9d-2898df88550a',\n",
" [{\"alignmentgroup\": \"True\", \"hovertemplate\": \"number_of_doors=%{x}<br>horsepower=%{y}<extra></extra>\", \"legendgroup\": \"\", \"marker\": {\"color\": \"#636efa\"}, \"name\": \"\", \"notched\": false, \"offsetgroup\": \"\", \"orientation\": \"v\", \"showlegend\": false, \"type\": \"box\", \"x\": [\"two\", \"two\", \"two\", \"four\", \"four\", \"two\", \"four\", \"four\", \"four\", \"two\", \"four\", \"two\", \"four\", \"four\", \"four\", \"two\", \"four\", \"two\", \"two\", \"four\", \"two\", \"two\", \"two\", \"four\", \"four\", \"four\", \"two\", \"four\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"four\", \"four\", \"two\", \"two\", \"four\", \"four\", \"four\", \"two\", \"four\", \"two\", \"four\", \"four\", \"two\", \"two\", \"two\", \"two\", \"four\", \"four\", \"two\", \"two\", \"two\", \"two\", \"two\", \"four\", \"two\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"two\", \"four\", \"four\", \"two\", \"four\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"four\", \"four\", \"four\", \"four\", \"two\", \"two\", \"two\", \"four\", \"four\", \"two\", \"two\", \"four\", \"four\", \"two\", \"four\", \"four\", \"four\", \"four\", \"four\", \"two\", \"two\", \"two\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"two\", \"two\", \"four\", \"four\", \"four\", \"four\", \"two\", \"two\", \"two\", \"two\", \"two\", \"four\", \"two\", \"two\", \"four\", \"two\", \"four\", \"two\", \"four\", \"two\", \"two\", \"two\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"two\", \"two\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"four\", \"four\", \"four\", \"four\", \"four\", \"two\", \"two\", \"four\", \"four\", \"two\", \"two\", \"four\", \"four\", \"four\", \"four\", \"four\", \"two\", \"two\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\"], \"x0\": \" \", \"xaxis\": \"x\", \"y\": [111, 111, 154, 102, 115, 110, 110, 110, 140, 101, 101, 121, 121, 121, 182, 182, 182, 48, 70, 70, 68, 68, 102, 68, 68, 68, 102, 88, 145, 58, 76, 60, 76, 76, 76, 76, 86, 86, 86, 86, 101, 100, 78, 90, 176, 176, 262, 68, 68, 68, 68, 68, 101, 101, 101, 135, 84, 84, 84, 84, 64, 84, 120, 72, 123, 123, 123, 123, 155, 155, 184, 184, 175, 68, 68, 68, 102, 116, 88, 145, 145, 145, 88, 88, 116, 116, 69, 55, 69, 69, 69, 69, 69, 69, 69, 69, 97, 97, 152, 152, 152, 160, 200, 160, 97, 95, 97, 95, 95, 95, 95, 95, 97, 95, 142, 68, 102, 68, 68, 68, 88, 145, 143, 207, 207, 207, 90, 90, 110, 110, 110, 110, 160, 160, 69, 73, 73, 82, 82, 94, 82, 111, 82, 94, 82, 111, 62, 62, 62, 62, 62, 62, 70, 70, 56, 56, 70, 70, 70, 70, 70, 112, 112, 116, 116, 116, 116, 116, 116, 92, 73, 92, 92, 92, 161, 161, 156, 156, 52, 85, 52, 85, 85, 68, 100, 90, 90, 110, 68, 88, 114, 114, 114, 114, 162, 162, 114, 160, 134, 106, 114], \"y0\": \" \", \"yaxis\": \"y\"}],\n",
" {\"boxmode\": \"group\", \"height\": 400, \"legend\": {\"tracegroupgap\": 0}, \"margin\": {\"t\": 60}, \"template\": {\"data\": {\"bar\": [{\"error_x\": {\"color\": \"#2a3f5f\"}, \"error_y\": {\"color\": \"#2a3f5f\"}, \"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}}, \"type\": \"bar\"}], \"barpolar\": [{\"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}}, \"type\": \"barpolar\"}], \"carpet\": [{\"aaxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"baxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"type\": \"carpet\"}], \"choropleth\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"choropleth\"}], \"contour\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"contour\"}], \"contourcarpet\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"contourcarpet\"}], \"heatmap\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"heatmap\"}], \"heatmapgl\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"heatmapgl\"}], \"histogram\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"histogram\"}], \"histogram2d\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"histogram2d\"}], \"histogram2dcontour\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"histogram2dcontour\"}], \"mesh3d\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"mesh3d\"}], \"parcoords\": [{\"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"parcoords\"}], \"pie\": [{\"automargin\": true, \"type\": \"pie\"}], \"scatter\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatter\"}], \"scatter3d\": [{\"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatter3d\"}], \"scattercarpet\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattercarpet\"}], \"scattergeo\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattergeo\"}], \"scattergl\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattergl\"}], \"scattermapbox\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattermapbox\"}], \"scatterpolar\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterpolar\"}], \"scatterpolargl\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterpolargl\"}], \"scatterternary\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterternary\"}], \"surface\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"surface\"}], \"table\": [{\"cells\": {\"fill\": {\"color\": \"#EBF0F8\"}, \"line\": {\"color\": \"white\"}}, \"header\": {\"fill\": {\"color\": \"#C8D4E3\"}, \"line\": {\"color\": \"white\"}}, \"type\": \"table\"}]}, \"layout\": {\"annotationdefaults\": {\"arrowcolor\": \"#2a3f5f\", \"arrowhead\": 0, \"arrowwidth\": 1}, \"coloraxis\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"colorscale\": {\"diverging\": [[0, \"#8e0152\"], [0.1, \"#c51b7d\"], [0.2, \"#de77ae\"], [0.3, \"#f1b6da\"], [0.4, \"#fde0ef\"], [0.5, \"#f7f7f7\"], [0.6, \"#e6f5d0\"], [0.7, \"#b8e186\"], [0.8, \"#7fbc41\"], [0.9, \"#4d9221\"], [1, \"#276419\"]], \"sequential\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"sequentialminus\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}, \"colorway\": [\"#636efa\", \"#EF553B\", \"#00cc96\", \"#ab63fa\", \"#FFA15A\", \"#19d3f3\", \"#FF6692\", \"#B6E880\", \"#FF97FF\", \"#FECB52\"], \"font\": {\"color\": \"#2a3f5f\"}, \"geo\": {\"bgcolor\": \"white\", \"lakecolor\": \"white\", \"landcolor\": \"#E5ECF6\", \"showlakes\": true, \"showland\": true, \"subunitcolor\": \"white\"}, \"hoverlabel\": {\"align\": \"left\"}, \"hovermode\": \"closest\", \"mapbox\": {\"style\": \"light\"}, \"paper_bgcolor\": \"white\", \"plot_bgcolor\": \"#E5ECF6\", \"polar\": {\"angularaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"bgcolor\": \"#E5ECF6\", \"radialaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"scene\": {\"xaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}, \"yaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}, \"zaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}}, \"shapedefaults\": {\"line\": {\"color\": \"#2a3f5f\"}}, \"ternary\": {\"aaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"baxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"bgcolor\": \"#E5ECF6\", \"caxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"title\": {\"x\": 0.05}, \"xaxis\": {\"automargin\": true, \"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"zerolinewidth\": 2}, \"yaxis\": {\"automargin\": true, \"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"zerolinewidth\": 2}}}, \"width\": 600, \"xaxis\": {\"anchor\": \"y\", \"domain\": [0.0, 1.0], \"title\": {\"text\": \"number_of_doors\"}}, \"yaxis\": {\"anchor\": \"x\", \"domain\": [0.0, 1.0], \"title\": {\"text\": \"horsepower\"}}},\n",
" {\"responsive\": true}\n",
" ).then(function(){\n",
" \n",
"var gd = document.getElementById('5a279102-a5e5-46cb-9a9d-2898df88550a');\n",
"var x = new MutationObserver(function (mutations, observer) {{\n",
" var display = window.getComputedStyle(gd).display;\n",
" if (!display || display === 'none') {{\n",
" console.log([gd, 'removed!']);\n",
" Plotly.purge(gd);\n",
" observer.disconnect();\n",
" }}\n",
"}});\n",
"\n",
"// Listen for the removal of the full notebook cells\n",
"var notebookContainer = gd.closest('#notebook-container');\n",
"if (notebookContainer) {{\n",
" x.observe(notebookContainer, {childList: true});\n",
"}}\n",
"\n",
"// Listen for the clearing of the current output cell\n",
"var outputEl = gd.closest('.output');\n",
"if (outputEl) {{\n",
" x.observe(outputEl, {childList: true});\n",
"}}\n",
"\n",
" })\n",
" };\n",
" });\n",
" </script>\n",
" </div>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = px.box(auto, x=\"number_of_doors\", y=\"horsepower\",width=600, height=400)\n",
"fig.show()"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 720x432 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(10,6))\n",
"sns.boxplot(auto['number_of_doors'], auto['horsepower'], hue=auto['fuel_type']);"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
" \n",
" \n",
" <div id=\"18c51996-925a-455d-93b8-403e6c16f4c8\" class=\"plotly-graph-div\" style=\"height:500px; width:800px;\"></div>\n",
" <script type=\"text/javascript\">\n",
" require([\"plotly\"], function(Plotly) {\n",
" window.PLOTLYENV=window.PLOTLYENV || {};\n",
" \n",
" if (document.getElementById(\"18c51996-925a-455d-93b8-403e6c16f4c8\")) {\n",
" Plotly.newPlot(\n",
" '18c51996-925a-455d-93b8-403e6c16f4c8',\n",
" [{\"alignmentgroup\": \"True\", \"hovertemplate\": \"fuel_type=gas<br>number_of_doors=%{x}<br>horsepower=%{y}<extra></extra>\", \"legendgroup\": \"gas\", \"marker\": {\"color\": \"#636efa\"}, \"name\": \"gas\", \"notched\": false, \"offsetgroup\": \"gas\", \"orientation\": \"v\", \"showlegend\": true, \"type\": \"box\", \"x\": [\"two\", \"two\", \"two\", \"four\", \"four\", \"two\", \"four\", \"four\", \"four\", \"two\", \"four\", \"two\", \"four\", \"four\", \"four\", \"two\", \"four\", \"two\", \"two\", \"four\", \"two\", \"two\", \"two\", \"four\", \"four\", \"four\", \"two\", \"four\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"four\", \"four\", \"two\", \"two\", \"four\", \"four\", \"four\", \"two\", \"four\", \"two\", \"four\", \"four\", \"two\", \"two\", \"two\", \"two\", \"four\", \"four\", \"two\", \"two\", \"two\", \"two\", \"two\", \"four\", \"two\", \"four\", \"four\", \"four\", \"four\", \"two\", \"four\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"four\", \"four\", \"four\", \"four\", \"two\", \"two\", \"four\", \"four\", \"two\", \"two\", \"four\", \"four\", \"two\", \"four\", \"four\", \"four\", \"four\", \"four\", \"two\", \"two\", \"two\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"two\", \"two\", \"four\", \"four\", \"four\", \"four\", \"two\", \"two\", \"two\", \"two\", \"two\", \"four\", \"two\", \"two\", \"four\", \"two\", \"four\", \"two\", \"four\", \"two\", \"two\", \"two\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"two\", \"two\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"four\", \"four\", \"four\", \"four\", \"two\", \"two\", \"four\", \"four\", \"two\", \"four\", \"four\", \"four\", \"two\", \"two\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\"], \"x0\": \" \", \"xaxis\": \"x\", \"y\": [111, 111, 154, 102, 115, 110, 110, 110, 140, 101, 101, 121, 121, 121, 182, 182, 182, 48, 70, 70, 68, 68, 102, 68, 68, 68, 102, 88, 145, 58, 76, 60, 76, 76, 76, 76, 86, 86, 86, 86, 101, 100, 78, 90, 176, 176, 262, 68, 68, 68, 68, 68, 101, 101, 101, 135, 84, 84, 84, 84, 84, 120, 155, 155, 184, 184, 175, 68, 68, 68, 102, 116, 88, 145, 145, 145, 88, 88, 116, 116, 69, 69, 69, 69, 69, 69, 69, 69, 69, 97, 97, 152, 152, 152, 160, 200, 160, 97, 97, 95, 95, 97, 142, 68, 102, 68, 68, 68, 88, 145, 143, 207, 207, 207, 90, 90, 110, 110, 110, 110, 160, 160, 69, 73, 73, 82, 82, 94, 82, 111, 82, 94, 82, 111, 62, 62, 62, 62, 62, 62, 70, 70, 70, 70, 70, 70, 70, 112, 112, 116, 116, 116, 116, 116, 116, 92, 92, 92, 92, 161, 161, 156, 156, 85, 85, 85, 100, 90, 90, 110, 88, 114, 114, 114, 114, 162, 162, 114, 160, 134, 114], \"y0\": \" \", \"yaxis\": \"y\"}, {\"alignmentgroup\": \"True\", \"hovertemplate\": \"fuel_type=diesel<br>number_of_doors=%{x}<br>horsepower=%{y}<extra></extra>\", \"legendgroup\": \"diesel\", \"marker\": {\"color\": \"#EF553B\"}, \"name\": \"diesel\", \"notched\": false, \"offsetgroup\": \"diesel\", \"orientation\": \"v\", \"showlegend\": true, \"type\": \"box\", \"x\": [\"four\", \"four\", \"four\", \"four\", \"two\", \"four\", \"two\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"two\", \"four\", \"four\", \"four\", \"four\"], \"x0\": \" \", \"xaxis\": \"x\", \"y\": [64, 72, 123, 123, 123, 123, 55, 95, 95, 95, 95, 95, 56, 56, 73, 52, 52, 68, 68, 106], \"y0\": \" \", \"yaxis\": \"y\"}],\n",
" {\"boxmode\": \"group\", \"height\": 500, \"legend\": {\"title\": {\"text\": \"fuel_type\"}, \"tracegroupgap\": 0}, \"margin\": {\"t\": 60}, \"template\": {\"data\": {\"bar\": [{\"error_x\": {\"color\": \"#2a3f5f\"}, \"error_y\": {\"color\": \"#2a3f5f\"}, \"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}}, \"type\": \"bar\"}], \"barpolar\": [{\"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}}, \"type\": \"barpolar\"}], \"carpet\": [{\"aaxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"baxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"type\": \"carpet\"}], \"choropleth\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"choropleth\"}], \"contour\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"contour\"}], \"contourcarpet\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"contourcarpet\"}], \"heatmap\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"heatmap\"}], \"heatmapgl\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"heatmapgl\"}], \"histogram\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"histogram\"}], \"histogram2d\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"histogram2d\"}], \"histogram2dcontour\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"histogram2dcontour\"}], \"mesh3d\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"mesh3d\"}], \"parcoords\": [{\"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"parcoords\"}], \"pie\": [{\"automargin\": true, \"type\": \"pie\"}], \"scatter\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatter\"}], \"scatter3d\": [{\"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatter3d\"}], \"scattercarpet\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattercarpet\"}], \"scattergeo\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattergeo\"}], \"scattergl\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattergl\"}], \"scattermapbox\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattermapbox\"}], \"scatterpolar\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterpolar\"}], \"scatterpolargl\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterpolargl\"}], \"scatterternary\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterternary\"}], \"surface\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"surface\"}], \"table\": [{\"cells\": {\"fill\": {\"color\": \"#EBF0F8\"}, \"line\": {\"color\": \"white\"}}, \"header\": {\"fill\": {\"color\": \"#C8D4E3\"}, \"line\": {\"color\": \"white\"}}, \"type\": \"table\"}]}, \"layout\": {\"annotationdefaults\": {\"arrowcolor\": \"#2a3f5f\", \"arrowhead\": 0, \"arrowwidth\": 1}, \"coloraxis\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"colorscale\": {\"diverging\": [[0, \"#8e0152\"], [0.1, \"#c51b7d\"], [0.2, \"#de77ae\"], [0.3, \"#f1b6da\"], [0.4, \"#fde0ef\"], [0.5, \"#f7f7f7\"], [0.6, \"#e6f5d0\"], [0.7, \"#b8e186\"], [0.8, \"#7fbc41\"], [0.9, \"#4d9221\"], [1, \"#276419\"]], \"sequential\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"sequentialminus\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}, \"colorway\": [\"#636efa\", \"#EF553B\", \"#00cc96\", \"#ab63fa\", \"#FFA15A\", \"#19d3f3\", \"#FF6692\", \"#B6E880\", \"#FF97FF\", \"#FECB52\"], \"font\": {\"color\": \"#2a3f5f\"}, \"geo\": {\"bgcolor\": \"white\", \"lakecolor\": \"white\", \"landcolor\": \"#E5ECF6\", \"showlakes\": true, \"showland\": true, \"subunitcolor\": \"white\"}, \"hoverlabel\": {\"align\": \"left\"}, \"hovermode\": \"closest\", \"mapbox\": {\"style\": \"light\"}, \"paper_bgcolor\": \"white\", \"plot_bgcolor\": \"#E5ECF6\", \"polar\": {\"angularaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"bgcolor\": \"#E5ECF6\", \"radialaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"scene\": {\"xaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}, \"yaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}, \"zaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}}, \"shapedefaults\": {\"line\": {\"color\": \"#2a3f5f\"}}, \"ternary\": {\"aaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"baxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"bgcolor\": \"#E5ECF6\", \"caxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"title\": {\"x\": 0.05}, \"xaxis\": {\"automargin\": true, \"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"zerolinewidth\": 2}, \"yaxis\": {\"automargin\": true, \"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"zerolinewidth\": 2}}}, \"width\": 800, \"xaxis\": {\"anchor\": \"y\", \"domain\": [0.0, 1.0], \"title\": {\"text\": \"number_of_doors\"}}, \"yaxis\": {\"anchor\": \"x\", \"domain\": [0.0, 1.0], \"title\": {\"text\": \"horsepower\"}}},\n",
" {\"responsive\": true}\n",
" ).then(function(){\n",
" \n",
"var gd = document.getElementById('18c51996-925a-455d-93b8-403e6c16f4c8');\n",
"var x = new MutationObserver(function (mutations, observer) {{\n",
" var display = window.getComputedStyle(gd).display;\n",
" if (!display || display === 'none') {{\n",
" console.log([gd, 'removed!']);\n",
" Plotly.purge(gd);\n",
" observer.disconnect();\n",
" }}\n",
"}});\n",
"\n",
"// Listen for the removal of the full notebook cells\n",
"var notebookContainer = gd.closest('#notebook-container');\n",
"if (notebookContainer) {{\n",
" x.observe(notebookContainer, {childList: true});\n",
"}}\n",
"\n",
"// Listen for the clearing of the current output cell\n",
"var outputEl = gd.closest('.output');\n",
"if (outputEl) {{\n",
" x.observe(outputEl, {childList: true});\n",
"}}\n",
"\n",
" })\n",
" };\n",
" });\n",
" </script>\n",
" </div>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = px.box(auto, x=\"number_of_doors\", y=\"horsepower\", color=\"fuel_type\",width=800, height=500)\n",
"fig.show()"
]
},
{
"cell_type": "markdown",
"execution_count": null,
"metadata": {},
"source": [
"### Violin plots\n",
"Violin plots are one of the best way to visualize lots of information in one plot and widely used as well.\n",
"\n",
"#### Seaborn:"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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RrFv3z7uu+++a/5eX375JRs2bODrr79myZIlfPvtt5dtf/bZZ0lKSmLLli386U9/4u2332b79u0A/OUvf+HAgQMsW7aM5cuXc+jQoUu/J8CFCxcoKSlhw4YNvP7663zwwQckJiayfft2tm7dyvz581EUpUqvvxBCW5KsCSFqzbRp00hMTCQ6OpohQ4aQmppapf2GDx9Ox44dCQkJYfjw4YSEhDBhwgSMRiN33XXXFcd54IEHSE5OJjo6mscee4yVK1cClcnR/fffT5cuXTAajdx9992YzWb2799/WYzJyclYrdZrxnPgwAFsNhuzZs3CYrHQr18/hgwZcuk8VbVq1SoefPDBS7HOnj370racnBz27NnDggULCAkJoV27dtx3330sW7YMqExI586dS1xcHLGxscydO5fly5df2t9gMPDkk09isViwWq2YTCby8/PJzs7GbDbTs2dPSdaECBCSrAkhak18fPyl/4eGhmKz2aq0X1xc3KX/W61W6tevf9njnx8nOTn50v8bNGhAXl4eUDmW7IMPPqBnz56X/uXm5l7a/vN9ryUvL4+kpCQMhv+7hDZo0IDz589X6ff56XF+HutPt0VFRREREXHVc+Tl5V32/J/+ngAxMTGEhIRcevzwww/TtGlTZs6cybBhw3jvvfeqFasQQjv6GP0qhKizQkNDcTgclx7n5+ff8jFzcnIu/T87O5uEhASgMhGbM2cOjz322DX3rUprU0JCArm5ufh8vksJW05ODs2aNatWnPHx8ZfF+tP/JyQkUFJSQnl5+aWELScnh8TExEvbs7OzSUlJubTt4u95td8jIiKChQsXsnDhQtLT05k+fTqdOnWiX79+1YpZCFH7pGVNCKGptm3bkp6eTmpqKk6nk3feeeeWj/npp5+Sm5tLcXExf/vb37jrrrsAuO+++/j88885cOAAqqpis9nYuHEj5eXl1Tp+586dCQ0N5R//+Adut5udO3eyfv36S+epqlGjRvHRRx+Rm5tLSUnJZa1dycnJdOvWjbfffhun08mxY8f46quvGDt2LACjR4/mL3/5C4WFhRQWFvLnP//50rar2bBhA1lZWaiqSkREBEaj8bKWQSGEfknLmhBCU82bN2fu3LnMmDEDq9XK/Pnz+eKLL27pmGPGjGHmzJnk5eUxbNiwSy1pnTp14vXXX+e1114jKysLq9VK9+7d6dmzZ7WOb7FY+Mtf/sKrr77K3/72NxITE3nzzTdp2bJltY4zadIkTp06xfjx4wkPD+fhhx9mx44dl7a//fbbvPzyywwaNIjIyEjmzZvHgAEDAHj88cepqKhg3LhxANx55508/vjj1zxXVlYWr7/+OoWFhURGRjJlyhT69OlTrXiFENpQVFVVtQ5CCCGEEEJcnbSBCyGEEELomHSDCiHEVWRnZzN69Oirblu5cuVlMzGv56WXXmLFihVX/Hzs2LG89tprtxSjEKJukG5QIYQQQggdk25QIYQQQggdk2RNCCGEEELHJFkTQgghhNAxSdaEEEIIIXRMkjUhhBBCCB37//GjxIHTQG37AAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 720x432 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(10,6))\n",
"sns.violinplot(y=auto[\"horsepower\"], x=auto[\"number_of_doors\"], hue=auto[\"fuel_type\"]);"
]
},
{
"cell_type": "markdown",
"execution_count": null,
"metadata": {},
"source": [
"#### Plotly:\n",
"https://plotly.com/python/violin/"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
" \n",
" \n",
" <div id=\"bf787050-0ea7-4001-94af-8e99f0417c1b\" class=\"plotly-graph-div\" style=\"height:500px; width:800px;\"></div>\n",
" <script type=\"text/javascript\">\n",
" require([\"plotly\"], function(Plotly) {\n",
" window.PLOTLYENV=window.PLOTLYENV || {};\n",
" \n",
" if (document.getElementById(\"bf787050-0ea7-4001-94af-8e99f0417c1b\")) {\n",
" Plotly.newPlot(\n",
" 'bf787050-0ea7-4001-94af-8e99f0417c1b',\n",
" [{\"alignmentgroup\": \"True\", \"box\": {\"visible\": true}, \"hovertemplate\": \"fuel_type=gas<br>number_of_doors=%{x}<br>horsepower=%{y}<extra></extra>\", \"legendgroup\": \"gas\", \"marker\": {\"color\": \"#636efa\"}, \"name\": \"gas\", \"offsetgroup\": \"gas\", \"orientation\": \"v\", \"points\": \"all\", \"scalegroup\": \"True\", \"showlegend\": true, \"type\": \"violin\", \"x\": [\"two\", \"two\", \"two\", \"four\", \"four\", \"two\", \"four\", \"four\", \"four\", \"two\", \"four\", \"two\", \"four\", \"four\", \"four\", \"two\", \"four\", \"two\", \"two\", \"four\", \"two\", \"two\", \"two\", \"four\", \"four\", \"four\", \"two\", \"four\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"four\", \"four\", \"two\", \"two\", \"four\", \"four\", \"four\", \"two\", \"four\", \"two\", \"four\", \"four\", \"two\", \"two\", \"two\", \"two\", \"four\", \"four\", \"two\", \"two\", \"two\", \"two\", \"two\", \"four\", \"two\", \"four\", \"four\", \"four\", \"four\", \"two\", \"four\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"four\", \"four\", \"four\", \"four\", \"two\", \"two\", \"four\", \"four\", \"two\", \"two\", \"four\", \"four\", \"two\", \"four\", \"four\", \"four\", \"four\", \"four\", \"two\", \"two\", \"two\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"two\", \"two\", \"four\", \"four\", \"four\", \"four\", \"two\", \"two\", \"two\", \"two\", \"two\", \"four\", \"two\", \"two\", \"four\", \"two\", \"four\", \"two\", \"four\", \"two\", \"two\", \"two\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"two\", \"two\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"two\", \"four\", \"four\", \"four\", \"four\", \"two\", \"two\", \"four\", \"four\", \"two\", \"four\", \"four\", \"four\", \"two\", \"two\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\"], \"x0\": \" \", \"xaxis\": \"x\", \"y\": [111, 111, 154, 102, 115, 110, 110, 110, 140, 101, 101, 121, 121, 121, 182, 182, 182, 48, 70, 70, 68, 68, 102, 68, 68, 68, 102, 88, 145, 58, 76, 60, 76, 76, 76, 76, 86, 86, 86, 86, 101, 100, 78, 90, 176, 176, 262, 68, 68, 68, 68, 68, 101, 101, 101, 135, 84, 84, 84, 84, 84, 120, 155, 155, 184, 184, 175, 68, 68, 68, 102, 116, 88, 145, 145, 145, 88, 88, 116, 116, 69, 69, 69, 69, 69, 69, 69, 69, 69, 97, 97, 152, 152, 152, 160, 200, 160, 97, 97, 95, 95, 97, 142, 68, 102, 68, 68, 68, 88, 145, 143, 207, 207, 207, 90, 90, 110, 110, 110, 110, 160, 160, 69, 73, 73, 82, 82, 94, 82, 111, 82, 94, 82, 111, 62, 62, 62, 62, 62, 62, 70, 70, 70, 70, 70, 70, 70, 112, 112, 116, 116, 116, 116, 116, 116, 92, 92, 92, 92, 161, 161, 156, 156, 85, 85, 85, 100, 90, 90, 110, 88, 114, 114, 114, 114, 162, 162, 114, 160, 134, 114], \"y0\": \" \", \"yaxis\": \"y\"}, {\"alignmentgroup\": \"True\", \"box\": {\"visible\": true}, \"hovertemplate\": \"fuel_type=diesel<br>number_of_doors=%{x}<br>horsepower=%{y}<extra></extra>\", \"legendgroup\": \"diesel\", \"marker\": {\"color\": \"#EF553B\"}, \"name\": \"diesel\", \"offsetgroup\": \"diesel\", \"orientation\": \"v\", \"points\": \"all\", \"scalegroup\": \"True\", \"showlegend\": true, \"type\": \"violin\", \"x\": [\"four\", \"four\", \"four\", \"four\", \"two\", \"four\", \"two\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"four\", \"two\", \"four\", \"four\", \"four\", \"four\"], \"x0\": \" \", \"xaxis\": \"x\", \"y\": [64, 72, 123, 123, 123, 123, 55, 95, 95, 95, 95, 95, 56, 56, 73, 52, 52, 68, 68, 106], \"y0\": \" \", \"yaxis\": \"y\"}],\n",
" {\"height\": 500, \"legend\": {\"title\": {\"text\": \"fuel_type\"}, \"tracegroupgap\": 0}, \"margin\": {\"t\": 60}, \"template\": {\"data\": {\"bar\": [{\"error_x\": {\"color\": \"#2a3f5f\"}, \"error_y\": {\"color\": \"#2a3f5f\"}, \"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}}, \"type\": \"bar\"}], \"barpolar\": [{\"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}}, \"type\": \"barpolar\"}], \"carpet\": [{\"aaxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"baxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"type\": \"carpet\"}], \"choropleth\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"choropleth\"}], \"contour\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"contour\"}], \"contourcarpet\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"contourcarpet\"}], \"heatmap\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"heatmap\"}], \"heatmapgl\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"heatmapgl\"}], \"histogram\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"histogram\"}], \"histogram2d\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"histogram2d\"}], \"histogram2dcontour\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"histogram2dcontour\"}], \"mesh3d\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"mesh3d\"}], \"parcoords\": [{\"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"parcoords\"}], \"pie\": [{\"automargin\": true, \"type\": \"pie\"}], \"scatter\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatter\"}], \"scatter3d\": [{\"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatter3d\"}], \"scattercarpet\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattercarpet\"}], \"scattergeo\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattergeo\"}], \"scattergl\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattergl\"}], \"scattermapbox\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattermapbox\"}], \"scatterpolar\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterpolar\"}], \"scatterpolargl\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterpolargl\"}], \"scatterternary\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterternary\"}], \"surface\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"surface\"}], \"table\": [{\"cells\": {\"fill\": {\"color\": \"#EBF0F8\"}, \"line\": {\"color\": \"white\"}}, \"header\": {\"fill\": {\"color\": \"#C8D4E3\"}, \"line\": {\"color\": \"white\"}}, \"type\": \"table\"}]}, \"layout\": {\"annotationdefaults\": {\"arrowcolor\": \"#2a3f5f\", \"arrowhead\": 0, \"arrowwidth\": 1}, \"coloraxis\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"colorscale\": {\"diverging\": [[0, \"#8e0152\"], [0.1, \"#c51b7d\"], [0.2, \"#de77ae\"], [0.3, \"#f1b6da\"], [0.4, \"#fde0ef\"], [0.5, \"#f7f7f7\"], [0.6, \"#e6f5d0\"], [0.7, \"#b8e186\"], [0.8, \"#7fbc41\"], [0.9, \"#4d9221\"], [1, \"#276419\"]], \"sequential\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"sequentialminus\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}, \"colorway\": [\"#636efa\", \"#EF553B\", \"#00cc96\", \"#ab63fa\", \"#FFA15A\", \"#19d3f3\", \"#FF6692\", \"#B6E880\", \"#FF97FF\", \"#FECB52\"], \"font\": {\"color\": \"#2a3f5f\"}, \"geo\": {\"bgcolor\": \"white\", \"lakecolor\": \"white\", \"landcolor\": \"#E5ECF6\", \"showlakes\": true, \"showland\": true, \"subunitcolor\": \"white\"}, \"hoverlabel\": {\"align\": \"left\"}, \"hovermode\": \"closest\", \"mapbox\": {\"style\": \"light\"}, \"paper_bgcolor\": \"white\", \"plot_bgcolor\": \"#E5ECF6\", \"polar\": {\"angularaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"bgcolor\": \"#E5ECF6\", \"radialaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"scene\": {\"xaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}, \"yaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}, \"zaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}}, \"shapedefaults\": {\"line\": {\"color\": \"#2a3f5f\"}}, \"ternary\": {\"aaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"baxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"bgcolor\": \"#E5ECF6\", \"caxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"title\": {\"x\": 0.05}, \"xaxis\": {\"automargin\": true, \"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"zerolinewidth\": 2}, \"yaxis\": {\"automargin\": true, \"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"zerolinewidth\": 2}}}, \"violinmode\": \"group\", \"width\": 800, \"xaxis\": {\"anchor\": \"y\", \"domain\": [0.0, 1.0], \"title\": {\"text\": \"number_of_doors\"}}, \"yaxis\": {\"anchor\": \"x\", \"domain\": [0.0, 1.0], \"title\": {\"text\": \"horsepower\"}}},\n",
" {\"responsive\": true}\n",
" ).then(function(){\n",
" \n",
"var gd = document.getElementById('bf787050-0ea7-4001-94af-8e99f0417c1b');\n",
"var x = new MutationObserver(function (mutations, observer) {{\n",
" var display = window.getComputedStyle(gd).display;\n",
" if (!display || display === 'none') {{\n",
" console.log([gd, 'removed!']);\n",
" Plotly.purge(gd);\n",
" observer.disconnect();\n",
" }}\n",
"}});\n",
"\n",
"// Listen for the removal of the full notebook cells\n",
"var notebookContainer = gd.closest('#notebook-container');\n",
"if (notebookContainer) {{\n",
" x.observe(notebookContainer, {childList: true});\n",
"}}\n",
"\n",
"// Listen for the clearing of the current output cell\n",
"var outputEl = gd.closest('.output');\n",
"if (outputEl) {{\n",
" x.observe(outputEl, {childList: true});\n",
"}}\n",
"\n",
" })\n",
" };\n",
" });\n",
" </script>\n",
" </div>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = px.violin(auto, y=\"horsepower\", x=\"number_of_doors\", color=\"fuel_type\", box=True, points=\"all\",width=800, height=500)\n",
"fig.show()"
]
},
{
"cell_type": "markdown",
"execution_count": null,
"metadata": {},
"source": [
"### Bar plots\n",
"\n",
"We can plot the mean of a a dataset, separated in categories using the barplot() function in Seaborn. When there are multiple observations in each category, it uses bootstrapping to compute a confidence interval around the estimate and plots that using error bars:\n",
"\n",
"Bar plots start at 0, which can sometimes be practical if zero is a number you want to compare to."
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sns.barplot(auto['body_style'], auto['horsepower'], hue=auto['fuel_type']);"
]
},
{
"cell_type": "markdown",
"execution_count": null,
"metadata": {},
"source": [
"in Seaborn , a special case for the bar plot is when you want to show the number of observations in each category rather than computing the mean of a second variable. This is similar to a histogram over a categorical, rather than quantitative, variable. In seaborn, it’s easy to do so with the countplot() function:"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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nKGoqIj169ebexRn69OnDytXriQvLw+AnJwcDhw4cMH3cD6nTp3Czc0NDw8PCgoKeP/990vVnJOTYz5u3bo1zs7O/Pe//zWnZWZmlms5cXFxFBUVcebMGTZv3ky3bt0oKCigqKjIHAl3zZo15vPL+huePHnSnD98+HDGjBnD6NGjSU1Nvbg3X07Hjh3DarXSr18/pk6dSkZGBn369CEuLo5jx46Z9f30009A8VFoyfvNy8szB3mE4vNKTZs2xdnZmf3795u/PrscdO/enRUrVph7vjfeeCMvv/wyPXr0+MvPUbdu3di8eTO5ubnY7Xbz/AFAz5492bRpEzk5ORiGwXvvvWcezV8O/up9/1nr1q3Jy8tjz549QPH2np2dbc5v0KBBqcc9e/bkvffewzAMcnJy2LRpU6mdwbK2qcpUq44UPDw8WLx4Mc8//zxnzpzBycmJKVOmsGjRolInmhcuXHjOidyyNGvWjDZt2rB7924WLFhgTp82bRrz5s0jODgYi8VCnTp1mDZtWplHDh4eHgwZMoQhQ4bQqFEj3n777XOe06VLFx5//HGOHj1Kly5dGDFixDnPGT9+PC+99BJ33XUXFosFi8XCE088YXY/VNTNN9/M+vXrGThwIL6+vrRv3948sXXttddyzTXXEBQUROvWrVm0aBExMTHMnDmTmJgYLBYLY8eOZdiwYRdcTrt27RgzZgypqakMGDDAPMydOHEid911F35+fuZRQsn6KutvePYXxtChQ3F1dWX06NG8/PLLXH311Re1Di4kMTGR+fPnA2C32xk/fjxdunThn//8JxMmTMBms1FYWMiAAQNo3749I0aMIDExkcGDB9O0aVO6dOnCH3/8AcCECRMIDQ1l/fr1tGjRgi5dulRJzVWhe/fuhIaGml9M3bt355133qF79+54enqe93PUt29fvvvuO4KDg/H19eWGG24wA753794kJiZyzz33ANC+fXsmTJhQPW/wIvzV9vNnLi4uLFiwwDzR3L17d5o1a2bOf+CBB5g2bRp169Zl/vz5PPbYY8yaNYshQ4YAxZ/3s7eR821TlUUD4olIlcnJycHNzQ273c706dPx8fHhqaeequ6yLlt//uViVahVRwoiUrNMmTKFP/74g7y8PNq1a8fDDz9c3SXJBehIQURETLXqRLOIiFwahYKIiJgUCiIiYlIoSK3Wp08fvvzyy0tu5/777yc2NrYSKrp01157LYcOHaruMqSWUiiIVLPKCi6RyqBQEBERk0JBar29e/cyaNAgunTpwtSpU81xdN59911uu+02unbtyqOPPlpq2IwdO3YwYMAAOnfuzMyZM81xjQoKCujatSuJiYnmc9PT0+nQoQMZGRnnrSEjI4NHHnmEwMBAunbtSkhICHa7nWeeeYajR4/y6KOP0qlTJ15++WXGjx/PG2+8Uer1Q4YM4aOPPjqn3YKCAqKiorjlllvo2bMn4eHh5lAoIhdDoSC13oYNG3j11Vf58MMPSUpKIiYmhp07dzJ//nxefPFFvvjiC6666ipzXPqMjAyefPJJ/vnPf7Jr1y5atGhhjnbq4uLCoEGDSo3jEx8fT8+ePfH09DxvDa+//jq+vr7s3LmTHTt2MHnyZCwWC/PmzaNZs2YsW7aM7777jocffphhw4aVan/fvn2kpaWVGuqgxLx580hKSmLdunVs3bqVtLQ0lixZUlmrTq5ACgWp9e677z78/Pzw8PBgwoQJbNy4kQ0bNjB8+HDatWuHi4sLkydP5vvvvyc5OZnPPvuMNm3aMGDAAOrUqcODDz5IkyZNzPZKBkq02+1A8QBlQ4cO/csanJ2dOX78OEePHqVOnToEBgaed3TLfv36cejQIXM48bi4OAYOHHjOeF2GYRAbG8u0adPw8PDAzc2NRx55hI0bN17C2pIrnUJBar2S0ViheJDDtLQ00tLSzKHQoXikSg8PD1JTU0lLS6Np06bmPIvFUqqNG264gXr16rF7924OHDjA4cOH6du371/W8NBDD9GyZUvGjh1L3759WbFixXmf6+LiwoABA1i/fj12u534+HiCg4PPeV5GRga5ubnceeedBAYGEhgYyLhx48o9gq1IWTT2kdR6KSkp5v+PHj2Kj48PPj4+5gimAGfOnCErKwtfX1+8vb3NobGheI/87Dag+Ghh/fr1eHt7079//1Lj/5fFzc2NsLAwwsLC+PXXX3nggQf4+9//ft77Y9xxxx2EhobSuXNn6tWrZw5bfbbGjRtTt25dNm7cWOomTyKXQkcKUuutWbOGY8eOkZWVxfLlyxk0aBBDhgzhgw8+4JdffqGgoIAFCxbQoUMHrr76anr37s2vv/7K1q1bKSoqYtWqVZw4caJUm8HBwXz00UesX7++XEOIf/LJJxw6dAjDMHBzc8NqteLkVLz5NWnS5Jz7cXTq1AknJyeef/7583ZNOTk5cffddzN37lzzxu+pqal8/vnnF7OaRACFglwBgoKCGDt2LP369aN58+ZMmDCBHj16MGnSJJ588kl69erFkSNHeOGFFwDw9PRk4cKFzJ8/n27dunHo0CHz9qAlmjZtyvXXX4/FYiEwMPCCNRw6dIgxY8bQqVMnRo4cyb333mveHGX8+PEsXbqUwMBAXn31VfM1wcHB7N+/v8yuoxLPPPMMLVu2ZMSIEdx4442MHj2apKSki1lNIoBGSRW5aFOnTq3S+wOsW7eOd955h7feeqtK2hcpi44URC5CcnIyH374IXfddVeVtJ+bm8uaNWsYOXJklbQvcj4KBZEKevHFFxkyZAgPPfRQqVuwLlu2jE6dOp3zb9y4cRVq//PPP6dHjx54eXkRFBRU2eWL/CV1H4mIiElHCiIiYlIoiIiISaEgIiImhYKIiJgUCiIiYlIoiIiI6f8BDXTAOpT5aLcAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sns.countplot(auto['body_style'],hue=auto['fuel_type']);"
]
},
{
"cell_type": "markdown",
"execution_count": null,
"metadata": {},
"source": [
"Plotly offered barplot option is different than Seaborn notation. There is no countplot option necessary in plotly as it can be realized by pandas dataframe functions and plotting in plotly express bar plot. Please refer to the documentation where you can find lots of sample codes.\n",
"\n",
"https://plotly.com/python/bar-charts/"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
" \n",
" \n",
" <div id=\"e2f25740-4773-4837-8ec2-9b9aaa507019\" class=\"plotly-graph-div\" style=\"height:400px; width:600px;\"></div>\n",
" <script type=\"text/javascript\">\n",
" require([\"plotly\"], function(Plotly) {\n",
" window.PLOTLYENV=window.PLOTLYENV || {};\n",
" \n",
" if (document.getElementById(\"e2f25740-4773-4837-8ec2-9b9aaa507019\")) {\n",
" Plotly.newPlot(\n",
" 'e2f25740-4773-4837-8ec2-9b9aaa507019',\n",
" [{\"alignmentgroup\": \"True\", \"hovertemplate\": \"fuel_type=gas<br>body_style=%{x}<br>horsepower=%{y}<extra></extra>\", \"legendgroup\": \"gas\", \"marker\": {\"color\": \"#636efa\"}, \"name\": \"gas\", \"offsetgroup\": \"gas\", \"orientation\": \"v\", \"showlegend\": true, \"textposition\": \"auto\", \"type\": \"bar\", \"x\": [\"convertible\", \"convertible\", \"hatchback\", \"sedan\", \"sedan\", \"sedan\", \"sedan\", \"wagon\", \"sedan\", \"sedan\", \"sedan\", \"sedan\", \"sedan\", \"sedan\", \"sedan\", \"sedan\", \"sedan\", \"hatchback\", \"hatchback\", \"sedan\", \"hatchback\", \"hatchback\", \"hatchback\", \"hatchback\", \"sedan\", \"sedan\", \"sedan\", \"wagon\", \"hatchback\", \"hatchback\", \"hatchback\", \"hatchback\", \"hatchback\", \"hatchback\", \"sedan\", \"wagon\", \"hatchback\", \"hatchback\", \"sedan\", \"sedan\", \"sedan\", \"sedan\", \"sedan\", \"hatchback\", \"sedan\", \"sedan\", \"sedan\", \"hatchback\", \"hatchback\", \"hatchback\", \"sedan\", \"sedan\", \"hatchback\", \"hatchback\", \"hatchback\", \"hatchback\", \"hatchback\", \"sedan\", \"hatchback\", \"sedan\", \"hatchback\", \"sedan\", \"sedan\", \"convertible\", \"sedan\", \"hardtop\", \"hatchback\", \"hatchback\", \"hatchback\", \"hatchback\", \"hatchback\", \"hatchback\", \"hatchback\", \"hatchback\", \"hatchback\", \"hatchback\", \"sedan\", \"sedan\", \"sedan\", \"sedan\", \"sedan\", \"sedan\", \"sedan\", \"wagon\", \"sedan\", \"hatchback\", \"sedan\", \"wagon\", \"hardtop\", \"hatchback\", \"sedan\", \"sedan\", \"wagon\", \"sedan\", \"hatchback\", \"hatchback\", \"hatchback\", \"sedan\", \"wagon\", \"sedan\", \"wagon\", \"sedan\", \"sedan\", \"hatchback\", \"hatchback\", \"hatchback\", \"sedan\", \"sedan\", \"wagon\", \"hatchback\", \"hatchback\", \"hardtop\", \"hardtop\", \"convertible\", \"wagon\", \"hatchback\", \"hatchback\", \"sedan\", \"hatchback\", \"sedan\", \"hatchback\", \"sedan\", \"hatchback\", \"hatchback\", \"hatchback\", \"sedan\", \"sedan\", \"sedan\", \"sedan\", \"sedan\", \"wagon\", \"wagon\", \"wagon\", \"wagon\", \"hatchback\", \"hatchback\", \"hatchback\", \"wagon\", \"wagon\", \"wagon\", \"sedan\", \"hatchback\", \"sedan\", \"hatchback\", \"sedan\", \"sedan\", \"hatchback\", \"sedan\", \"hatchback\", \"hardtop\", \"hardtop\", \"hatchback\", \"hardtop\", \"hatchback\", \"convertible\", \"sedan\", \"hatchback\", \"sedan\", \"hatchback\", \"hatchback\", \"hatchback\", \"sedan\", \"wagon\", \"sedan\", \"sedan\", \"sedan\", \"sedan\", \"convertible\", \"hatchback\", \"sedan\", \"wagon\", \"sedan\", \"wagon\", \"sedan\", \"wagon\", \"sedan\", \"wagon\", \"sedan\", \"sedan\", \"sedan\", \"sedan\"], \"xaxis\": \"x\", \"y\": [111, 111, 154, 102, 115, 110, 110, 110, 140, 101, 101, 121, 121, 121, 182, 182, 182, 48, 70, 70, 68, 68, 102, 68, 68, 68, 102, 88, 145, 58, 76, 60, 76, 76, 76, 76, 86, 86, 86, 86, 101, 100, 78, 90, 176, 176, 262, 68, 68, 68, 68, 68, 101, 101, 101, 135, 84, 84, 84, 84, 84, 120, 155, 155, 184, 184, 175, 68, 68, 68, 102, 116, 88, 145, 145, 145, 88, 88, 116, 116, 69, 69, 69, 69, 69, 69, 69, 69, 69, 97, 97, 152, 152, 152, 160, 200, 160, 97, 97, 95, 95, 97, 142, 68, 102, 68, 68, 68, 88, 145, 143, 207, 207, 207, 90, 90, 110, 110, 110, 110, 160, 160, 69, 73, 73, 82, 82, 94, 82, 111, 82, 94, 82, 111, 62, 62, 62, 62, 62, 62, 70, 70, 70, 70, 70, 70, 70, 112, 112, 116, 116, 116, 116, 116, 116, 92, 92, 92, 92, 161, 161, 156, 156, 85, 85, 85, 100, 90, 90, 110, 88, 114, 114, 114, 114, 162, 162, 114, 160, 134, 114], \"yaxis\": \"y\"}, {\"alignmentgroup\": \"True\", \"hovertemplate\": \"fuel_type=diesel<br>body_style=%{x}<br>horsepower=%{y}<extra></extra>\", \"legendgroup\": \"diesel\", \"marker\": {\"color\": \"#EF553B\"}, \"name\": \"diesel\", \"offsetgroup\": \"diesel\", \"orientation\": \"v\", \"showlegend\": true, \"textposition\": \"auto\", \"type\": \"bar\", \"x\": [\"sedan\", \"sedan\", \"sedan\", \"wagon\", \"hardtop\", \"sedan\", \"sedan\", \"sedan\", \"wagon\", \"sedan\", \"wagon\", \"sedan\", \"sedan\", \"hatchback\", \"sedan\", \"sedan\", \"sedan\", \"sedan\", \"sedan\", \"sedan\"], \"xaxis\": \"x\", \"y\": [64, 72, 123, 123, 123, 123, 55, 95, 95, 95, 95, 95, 56, 56, 73, 52, 52, 68, 68, 106], \"yaxis\": \"y\"}],\n",
" {\"barmode\": \"group\", \"height\": 400, \"legend\": {\"title\": {\"text\": \"fuel_type\"}, \"tracegroupgap\": 0}, \"margin\": {\"t\": 60}, \"template\": {\"data\": {\"bar\": [{\"error_x\": {\"color\": \"#2a3f5f\"}, \"error_y\": {\"color\": \"#2a3f5f\"}, \"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}}, \"type\": \"bar\"}], \"barpolar\": [{\"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}}, \"type\": \"barpolar\"}], \"carpet\": [{\"aaxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"baxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"type\": \"carpet\"}], \"choropleth\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"choropleth\"}], \"contour\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"contour\"}], \"contourcarpet\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"contourcarpet\"}], \"heatmap\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"heatmap\"}], \"heatmapgl\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"heatmapgl\"}], \"histogram\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"histogram\"}], \"histogram2d\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"histogram2d\"}], \"histogram2dcontour\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"histogram2dcontour\"}], \"mesh3d\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"mesh3d\"}], \"parcoords\": [{\"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"parcoords\"}], \"pie\": [{\"automargin\": true, \"type\": \"pie\"}], \"scatter\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatter\"}], \"scatter3d\": [{\"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatter3d\"}], \"scattercarpet\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattercarpet\"}], \"scattergeo\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattergeo\"}], \"scattergl\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattergl\"}], \"scattermapbox\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattermapbox\"}], \"scatterpolar\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterpolar\"}], \"scatterpolargl\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterpolargl\"}], \"scatterternary\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterternary\"}], \"surface\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"surface\"}], \"table\": [{\"cells\": {\"fill\": {\"color\": \"#EBF0F8\"}, \"line\": {\"color\": \"white\"}}, \"header\": {\"fill\": {\"color\": \"#C8D4E3\"}, \"line\": {\"color\": \"white\"}}, \"type\": \"table\"}]}, \"layout\": {\"annotationdefaults\": {\"arrowcolor\": \"#2a3f5f\", \"arrowhead\": 0, \"arrowwidth\": 1}, \"coloraxis\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"colorscale\": {\"diverging\": [[0, \"#8e0152\"], [0.1, \"#c51b7d\"], [0.2, \"#de77ae\"], [0.3, \"#f1b6da\"], [0.4, \"#fde0ef\"], [0.5, \"#f7f7f7\"], [0.6, \"#e6f5d0\"], [0.7, \"#b8e186\"], [0.8, \"#7fbc41\"], [0.9, \"#4d9221\"], [1, \"#276419\"]], \"sequential\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"sequentialminus\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}, \"colorway\": [\"#636efa\", \"#EF553B\", \"#00cc96\", \"#ab63fa\", \"#FFA15A\", \"#19d3f3\", \"#FF6692\", \"#B6E880\", \"#FF97FF\", \"#FECB52\"], \"font\": {\"color\": \"#2a3f5f\"}, \"geo\": {\"bgcolor\": \"white\", \"lakecolor\": \"white\", \"landcolor\": \"#E5ECF6\", \"showlakes\": true, \"showland\": true, \"subunitcolor\": \"white\"}, \"hoverlabel\": {\"align\": \"left\"}, \"hovermode\": \"closest\", \"mapbox\": {\"style\": \"light\"}, \"paper_bgcolor\": \"white\", \"plot_bgcolor\": \"#E5ECF6\", \"polar\": {\"angularaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"bgcolor\": \"#E5ECF6\", \"radialaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"scene\": {\"xaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}, \"yaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}, \"zaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}}, \"shapedefaults\": {\"line\": {\"color\": \"#2a3f5f\"}}, \"ternary\": {\"aaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"baxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"bgcolor\": \"#E5ECF6\", \"caxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"title\": {\"x\": 0.05}, \"xaxis\": {\"automargin\": true, \"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"zerolinewidth\": 2}, \"yaxis\": {\"automargin\": true, \"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"zerolinewidth\": 2}}}, \"width\": 600, \"xaxis\": {\"anchor\": \"y\", \"domain\": [0.0, 1.0], \"title\": {\"text\": \"body_style\"}}, \"yaxis\": {\"anchor\": \"x\", \"domain\": [0.0, 1.0], \"title\": {\"text\": \"horsepower\"}}},\n",
" {\"responsive\": true}\n",
" ).then(function(){\n",
" \n",
"var gd = document.getElementById('e2f25740-4773-4837-8ec2-9b9aaa507019');\n",
"var x = new MutationObserver(function (mutations, observer) {{\n",
" var display = window.getComputedStyle(gd).display;\n",
" if (!display || display === 'none') {{\n",
" console.log([gd, 'removed!']);\n",
" Plotly.purge(gd);\n",
" observer.disconnect();\n",
" }}\n",
"}});\n",
"\n",
"// Listen for the removal of the full notebook cells\n",
"var notebookContainer = gd.closest('#notebook-container');\n",
"if (notebookContainer) {{\n",
" x.observe(notebookContainer, {childList: true});\n",
"}}\n",
"\n",
"// Listen for the clearing of the current output cell\n",
"var outputEl = gd.closest('.output');\n",
"if (outputEl) {{\n",
" x.observe(outputEl, {childList: true});\n",
"}}\n",
"\n",
" })\n",
" };\n",
" });\n",
" </script>\n",
" </div>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = px.bar(auto, x=\"body_style\", y=\"horsepower\", color='fuel_type',barmode='group',width=600, height=400)\n",
"fig.show()"
]
},
{
"cell_type": "markdown",
"execution_count": null,
"metadata": {},
"source": [
"### Heat Map \n",
"\n",
"Both Libraries are offering heatmap plot which is very useful visualization for many cases. Below are the sample codes from each libraries.\n",
"\n",
"https://plotly.com/python/imshow/"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAjkAAAI0CAYAAAD/dTizAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nOzde3yMd/738ddk5IAI4pBGHeJwb9AKUUWoHrCoIoi0qk7tr2yj5FeqhLYSh2rj1F0Uy7ZVVNkIUmmKtruq1UTvdUgUReNMSCUiQuU0c//h7uxmYwTJJWa8n4/HPDZzzTXv6zsjy6ef7/e6LpPVarUiIiIi4mRcynsAIiIiIkZQkSMiIiJOSUWOiIiIOCUVOSIiIuKUVOSIiIiIU1KRIyIiIk5JRY6IiIjcsejoaDp37oy/vz+HDx++4T6FhYVMnTqVrl278sc//pGYmJhbeq20KpRZkoiIiNx3unTpwtChQ3nhhRfs7rNp0yZOnjzJ1q1bycrKom/fvgQFBVG3bt2bvlZa6uSIiIjIHWvTpg2+vr433SchIYHQ0FBcXFzw9vama9eubN68ucTXSkudHBERESkiOzub7OzsYtu9vLzw8vK67by0tDTq1Klje+7r68u5c+dKfK20VOQ4qfwLRw3JzZ093pDc7quyDMkF+INrdUNy6+FhSO5X+WcNyQXoXqFOyTvdgXqFJkNyfzMmFv+8fGOCgWR3V0NyHyu4akhuQ/8MQ3IBEg8+aEhuNasxf36nze6G5AIMPrvKsGwj/r7/5LMvWLhwYbHto0ePZsyYMWV+PKOoyBG5TxhV4IiI8xk2bBj9+vUrtv1OujhwvTtz9uxZAgICgKLdm5u9VloqckRERByZpbDMI+90WsqeHj16EBMTQ7du3cjKyuLrr7/m008/LfG10lKRIyIiIndsxowZbN26lQsXLvDiiy9SrVo1vvjiC0aMGEF4eDgtWrQgODiY5ORkunXrBsCrr75KvXr1AG76WmmZrFartUyS5J6iNTn/pjU51xk5XaU1Of+mNTn/pjU5/2bompzzh8o809XHv8wzy4NOIRcRERGnpOkqERERR2axlPcI7lkqckRERByY1aoixx5NV4mIiIhTUidHRETEkWm6yi51cm6Dv78/V65cua337Ny5k/79+wNw/vx5hgwZYsTQRERE5L+ok3MX+fj4sHLlyvIehoiIOBOtybHL6Yqc3377jYkTJ/LLL79QoUIFGjZsyNWrVwkJCaFHjx4AbN26lTVr1vDRRx8xZMgQHnroIVJSUjhz5gxDhw7Fx8eHVatWkZ6ezhtvvMHTTz9ty//oo4/YsWMHFy9eZNy4cXTv3h2A7du3M2/ePAoLC/H29mbatGk0aNCgyNhOnz5NSEgIO3fuBK53hsaOHctXX31FVlYWEyZMsOVt2bKF999/Hw8PD3r06MH777/P7t27qVy58t34GkVExFEYcMVjZ+F0Rc73339PdnY2CQkJAFy6dInk5GSWLVtmK3I+/fTTItNG586dY9WqVfz6669069aN4cOHs2bNGlJSUhg9enSRIsdkMrFmzRqOHj3K888/T5s2bQCYMGECq1atokmTJsTExDB+/HhiYmJKHK+npyexsbHs2rWL1157je7du5ORkcGUKVNYu3Ytfn5+LF++vAy/IRERkfuD063Jadq0KUePHmXq1Kl8+eWXuLm50alTJy5cuEBqaiqpqamcOnWKp556yvaeHj164OLigo+PD9WqVaNr164APPTQQ5w/f57c3FzbvqGhoQA0atSI5s2bs3fvXpKTk2natClNmjQBICQkhIMHD5KTk1PieHv27AlAq1atSE9PJzc3l71799K8eXP8/PxseSIiIjdktZT9w0k4XZFTr149EhIS6NixI4mJiQQHB5OXl8cLL7zA6tWrWb16Nc899xxms9n2Hnf3f1/K22w2257/vk9BQcENj2W1WjGZTLb/vRM3OlZp8kREROQ6pytyzp07h9lspmvXrkyaNInMzEyysrLo27cvX3/9NQkJCbZuzJ2IjY0F4Pjx4xw8eJCWLVsSGBjIwYMHSU1NBWDDhg00b94cT0/POzpGq1at2L9/PydOnABg/fr1dzxeERFxchZL2T+chNOtyTl06BBz584FwGKxMHLkSHx8fADo1KkT165dw9vb+47z3dzcGDhwIBcvXmTatGnUqFEDgFmzZjF+/HgKCgrw9vZm9uzZd3yMmjVrEhUVxciRI6levTqdO3fG1dWVihUr3nGmiIjI/ea+uQt5QUEBffr04b333iMgIKC8h1OinJwcWycoNjaWdevW8dlnn93y+3UX8n/TXciv013I/013If833YX83xz1LuS5qUllnuneuH2ZZ5YHp+vk3Mg333zDjBkz6Nq1q0MUOAArV65k8+bNFBYWUrVqVWbMmFHeQxIRkXuRE00vlbX7osjp0qULXbp0Ke9h3JawsDDCwsLKexgiIiIO674ockRERJyWE53yXdac7uwqEREREVAnR0RExLHptg52qcgRERFxZJquskvTVSIiIuKU1MkRERFxZDqF3C4VOU7KqIv2ub8xx5DcyOWTDckFqOnymyG5FT0uGpL7K7UMyT1PPq9XumRItsVqzFX7jmdWMyS3ssuN70dXFqpajLkYoFEX7bt2yZjxAnzrYcw/vh4YM+Y/VTtvSK6UHxU5IvcJowocESlnWpNjl4ocERERR6bpKru08FhERESckjo5IiIiDsxq1XVy7FEnR0RERJySOjkiIiKOTAuP7VInR0RERJySOjkiIiKOTGdX2aUiR0RExJFpusouTVeJiIiIU3K4Imf9+vWEh4cDsG/fPl5//fUyy16wYAHR0dE33cff358rV66U2TFFRERKxVJY9g8ncdeKnMLCsv/SWrRowdy5c8s8V0RERBzfLa3J8ff3Z+zYsXz11VdkZWUxYcIEunfvDsD27duZN28ehYWFeHt7M23aNBo0aMDOnTuZOXMmbdq0Yd++fYSFhTF9+nR69+5NUlIS58+f5/XXXycjI4P4+HguXbrEu+++S5s2bSgoKOBPf/oTFy9eJDc3l4CAAKZOnYqbm1uRce3cuZPo6GjWr19PTEwMq1atAsBqtXLo0CHi4uJo2rQpy5YtY8uWLRQWFuLj48P06dOpVasWly9f5s033+SXX37B19cXb29vatasectfXkpKCu+88w5Xr16lUqVKvPnmmwQEBJCRkWH7bABBQUFMnjyZ3bt3M336dCwWCwUFBYSFhdGrVy9ycnJ49913OXToELm5ubRr145JkyZhNptZuHAh8fHxuLu7YzKZWLFiBV5eXrc8RhERcXJak2PXLS889vT0JDY2ll27dvHaa6/RvXt3MjIymDBhAqtWraJJkybExMQwfvx4YmJiADh8+DBRUVG8/fbbAEyfPp28vDzWrl1LSkoKQ4cO5Y033mDdunUkJCQwd+5cPvvsM8xmM3PmzKF69epYrVYmTpxIbGwszz//vN3xhYaGEhoaCsD7779PgwYN+MMf/kBcXBwnT57k73//Oy4uLqxevZr33nuPuXPn8sEHH1C5cmUSEhLIzMykf//+PP30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\n",
"text/plain": [
"<Figure size 576x576 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(8,8))\n",
"sns.heatmap(auto.corr())\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
" \n",
" \n",
" <div id=\"0579f84b-3b8a-4a23-b8f6-08424c5fcd9f\" class=\"plotly-graph-div\" style=\"height:600px; width:600px;\"></div>\n",
" <script type=\"text/javascript\">\n",
" require([\"plotly\"], function(Plotly) {\n",
" window.PLOTLYENV=window.PLOTLYENV || {};\n",
" \n",
" if (document.getElementById(\"0579f84b-3b8a-4a23-b8f6-08424c5fcd9f\")) {\n",
" Plotly.newPlot(\n",
" '0579f84b-3b8a-4a23-b8f6-08424c5fcd9f',\n",
" [{\"coloraxis\": \"coloraxis\", \"hovertemplate\": \"x: %{x}<br>y: %{y}<br>color: %{z}<extra></extra>\", \"type\": \"heatmap\", \"x\": [\"symboling\", \"normalized_losses\", \"wheel_base\", \"length\", \"width\", \"height\", \"curb_weight\", \"engine_size\", \"bore\", \"stroke\", \"compression_ratio\", \"horsepower\", \"peak_rpm\", \"city_mpg\", \"highway_mpg\", \"price\"], \"y\": [\"symboling\", \"normalized_losses\", \"wheel_base\", \"length\", \"width\", \"height\", \"curb_weight\", \"engine_size\", \"bore\", \"stroke\", \"compression_ratio\", \"horsepower\", \"peak_rpm\", \"city_mpg\", \"highway_mpg\", \"price\"], \"z\": [[1.0, 0.4749934973890905, -0.5359868030343234, -0.3654043627907561, -0.24242260389164777, -0.5501598641343746, -0.23311848536958668, -0.11058055620198272, -0.1463551311026174, 0.018373423553359428, -0.18219615797610447, 0.07528711679845765, 0.2798493297751534, -0.035527043332382144, 0.03623281072144149, -0.08239118716962361], [0.4749934973890905, 1.0, 0.007814598621983651, 0.10365879420283998, 0.1537516428460313, -0.335476370540656, 0.17854725525975076, 0.1747883627230233, 0.007498144990473001, 0.06266575532664834, -0.12084624024222392, 0.2766650298053802, 0.21181182825354822, -0.3012059555011088, -0.2645943075778216, 0.20888614479290288], [-0.5359868030343234, 0.007814598621983651, 1.0, 0.8760238919618007, 0.8145066522681058, 0.590741674821509, 0.7820972444156647, 0.5720266928058426, 0.4952102899643912, 0.1482386045548716, 0.25031308802836105, 0.3726068526560062, -0.3626419686857644, -0.47060640884235716, -0.5433044680377376, 0.584641822265509], [-0.3654043627907561, 0.10365879420283998, 0.8760238919618007, 1.0, 0.8571703218913003, 0.4920625494156011, 0.880664786265441, 0.6850247620753398, 0.6103237139268183, 0.11674463714887917, 0.15973310888732672, 0.5779229663651142, -0.2819315013971993, -0.6651923947142164, -0.6981418469786211, 0.6906283804483636], [-0.24242260389164777, 0.1537516428460313, 0.8145066522681058, 0.8571703218913003, 1.0, 0.30600216170344813, 0.8662010980938415, 0.7294356383711988, 0.5450283339601455, 0.18635217725117628, 0.18986711802230108, 0.6134881018062526, -0.24256907716087966, -0.6335306393417519, -0.6806352140910511, 0.7512653440522672], [-0.5501598641343746, -0.335476370540656, 0.590741674821509, 0.4920625494156011, 0.30600216170344813, 1.0, 0.30758081972622303, 0.07469408505792997, 0.1867014707146043, -0.08650759605291262, 0.25973714113734275, -0.08554359694109875, -0.3119224504508625, -0.04979996881812854, -0.10481184341260161, 0.13548630756805977], [-0.23311848536958668, 0.17854725525975076, 0.7820972444156647, 0.880664786265441, 0.8662010980938415, 0.30758081972622303, 1.0, 0.8490716606415301, 0.6448706673474475, 0.1621794544911654, 0.15643261336521133, 0.7577622923462695, -0.2790265672268059, -0.7495430863216351, -0.7948889423035674, 0.8344145257702835], [-0.11058055620198272, 0.1747883627230233, 0.5720266928058426, 0.6850247620753398, 0.7294356383711988, 0.07469408505792997, 0.8490716606415301, 1.0, 0.577264877535352, 0.18460466432154435, 0.02888863344993297, 0.8216845048673267, -0.2549607191107358, -0.6505459759740396, -0.679571259122074, 0.8723351674455199], [-0.1463551311026174, 0.007498144990473001, 0.4952102899643912, 0.6103237139268183, 0.5450283339601455, 0.1867014707146043, 0.6448706673474475, 0.577264877535352, 1.0, -0.05788706253441599, 0.001970943827727376, 0.5639206003094968, -0.2694864650024932, -0.5769538822419605, -0.5869171122202379, 0.5430524242294209], [0.018373423553359428, 0.06266575532664834, 0.1482386045548716, 0.11674463714887917, 0.18635217725117628, -0.08650759605291262, 0.1621794544911654, 0.18460466432154435, -0.05788706253441599, 1.0, 0.18385480748342337, 0.09249266665441223, -0.019004487345540607, -0.05395458963078422, -0.051792512684463825, 0.08143402274933702], [-0.18219615797610447, -0.12084624024222392, 0.25031308802836105, 0.15973310888732672, 0.18986711802230108, 0.25973714113734275, 0.15643261336521133, 0.02888863344993297, 0.001970943827727376, 0.18385480748342337, 1.0, -0.21298426757403335, -0.4372625918310185, 0.33142483884243573, 0.2684648475460541, 0.07110732668194146], [0.07528711679845765, 0.2766650298053802, 0.3726068526560062, 0.5779229663651142, 0.6134881018062526, -0.08554359694109875, 0.7577622923462695, 0.8216845048673267, 0.5639206003094968, 0.09249266665441223, -0.21298426757403335, 1.0, 0.1046447354130278, -0.8204002180975863, -0.8042407388197849, 0.8107950503290712], [0.2798493297751534, 0.21181182825354822, -0.3626419686857644, -0.2819315013971993, -0.24256907716087966, -0.3119224504508625, -0.2790265672268059, -0.2549607191107358, -0.2694864650024932, -0.019004487345540607, -0.4372625918310185, 0.1046447354130278, 1.0, -0.11769937000873479, -0.05805374794719092, -0.10484596598109104], [-0.035527043332382144, -0.3012059555011088, -0.47060640884235716, -0.6651923947142164, -0.6335306393417519, -0.04979996881812854, -0.7495430863216351, -0.6505459759740396, -0.5769538822419605, -0.05395458963078422, 0.33142483884243573, -0.8204002180975863, -0.11769937000873479, 1.0, 0.972043705896011, -0.6865710067844681], [0.03623281072144149, -0.2645943075778216, -0.5433044680377376, -0.6981418469786211, -0.6806352140910511, -0.10481184341260161, -0.7948889423035674, -0.679571259122074, -0.5869171122202379, -0.051792512684463825, 0.2684648475460541, -0.8042407388197849, -0.05805374794719092, 0.972043705896011, 1.0, -0.7046922650589532], [-0.08239118716962361, 0.20888614479290288, 0.584641822265509, 0.6906283804483636, 0.7512653440522672, 0.13548630756805977, 0.8344145257702835, 0.8723351674455199, 0.5430524242294209, 0.08143402274933702, 0.07110732668194146, 0.8107950503290712, -0.10484596598109104, -0.6865710067844681, -0.7046922650589532, 1.0]]}],\n",
" {\"coloraxis\": {\"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}, \"height\": 600, \"margin\": {\"t\": 60}, \"template\": {\"data\": {\"bar\": [{\"error_x\": {\"color\": \"#2a3f5f\"}, \"error_y\": {\"color\": \"#2a3f5f\"}, \"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}}, \"type\": \"bar\"}], \"barpolar\": [{\"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}}, \"type\": \"barpolar\"}], \"carpet\": [{\"aaxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"baxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"type\": \"carpet\"}], \"choropleth\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"choropleth\"}], \"contour\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"contour\"}], \"contourcarpet\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"contourcarpet\"}], \"heatmap\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"heatmap\"}], \"heatmapgl\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"heatmapgl\"}], \"histogram\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"histogram\"}], \"histogram2d\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"histogram2d\"}], \"histogram2dcontour\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"histogram2dcontour\"}], \"mesh3d\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"mesh3d\"}], \"parcoords\": [{\"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"parcoords\"}], \"pie\": [{\"automargin\": true, \"type\": \"pie\"}], \"scatter\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatter\"}], \"scatter3d\": [{\"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatter3d\"}], \"scattercarpet\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattercarpet\"}], \"scattergeo\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattergeo\"}], \"scattergl\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattergl\"}], \"scattermapbox\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattermapbox\"}], \"scatterpolar\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterpolar\"}], \"scatterpolargl\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterpolargl\"}], \"scatterternary\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterternary\"}], \"surface\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"surface\"}], \"table\": [{\"cells\": {\"fill\": {\"color\": \"#EBF0F8\"}, \"line\": {\"color\": \"white\"}}, \"header\": {\"fill\": {\"color\": \"#C8D4E3\"}, \"line\": {\"color\": \"white\"}}, \"type\": \"table\"}]}, \"layout\": {\"annotationdefaults\": {\"arrowcolor\": \"#2a3f5f\", \"arrowhead\": 0, \"arrowwidth\": 1}, \"coloraxis\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"colorscale\": {\"diverging\": [[0, \"#8e0152\"], [0.1, \"#c51b7d\"], [0.2, \"#de77ae\"], [0.3, \"#f1b6da\"], [0.4, \"#fde0ef\"], [0.5, \"#f7f7f7\"], [0.6, \"#e6f5d0\"], [0.7, \"#b8e186\"], [0.8, \"#7fbc41\"], [0.9, \"#4d9221\"], [1, \"#276419\"]], \"sequential\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"sequentialminus\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}, \"colorway\": [\"#636efa\", \"#EF553B\", \"#00cc96\", \"#ab63fa\", \"#FFA15A\", \"#19d3f3\", \"#FF6692\", \"#B6E880\", \"#FF97FF\", \"#FECB52\"], \"font\": {\"color\": \"#2a3f5f\"}, \"geo\": {\"bgcolor\": \"white\", \"lakecolor\": \"white\", \"landcolor\": \"#E5ECF6\", \"showlakes\": true, \"showland\": true, \"subunitcolor\": \"white\"}, \"hoverlabel\": {\"align\": \"left\"}, \"hovermode\": \"closest\", \"mapbox\": {\"style\": \"light\"}, \"paper_bgcolor\": \"white\", \"plot_bgcolor\": \"#E5ECF6\", \"polar\": {\"angularaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"bgcolor\": \"#E5ECF6\", \"radialaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"scene\": {\"xaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}, \"yaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}, \"zaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}}, \"shapedefaults\": {\"line\": {\"color\": \"#2a3f5f\"}}, \"ternary\": {\"aaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"baxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"bgcolor\": \"#E5ECF6\", \"caxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"title\": {\"x\": 0.05}, \"xaxis\": {\"automargin\": true, \"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"zerolinewidth\": 2}, \"yaxis\": {\"automargin\": true, \"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"zerolinewidth\": 2}}}, \"width\": 600, \"xaxis\": {\"constrain\": \"domain\", \"scaleanchor\": \"y\"}, \"yaxis\": {\"autorange\": \"reversed\", \"constrain\": \"domain\"}},\n",
" {\"responsive\": true}\n",
" ).then(function(){\n",
" \n",
"var gd = document.getElementById('0579f84b-3b8a-4a23-b8f6-08424c5fcd9f');\n",
"var x = new MutationObserver(function (mutations, observer) {{\n",
" var display = window.getComputedStyle(gd).display;\n",
" if (!display || display === 'none') {{\n",
" console.log([gd, 'removed!']);\n",
" Plotly.purge(gd);\n",
" observer.disconnect();\n",
" }}\n",
"}});\n",
"\n",
"// Listen for the removal of the full notebook cells\n",
"var notebookContainer = gd.closest('#notebook-container');\n",
"if (notebookContainer) {{\n",
" x.observe(notebookContainer, {childList: true});\n",
"}}\n",
"\n",
"// Listen for the clearing of the current output cell\n",
"var outputEl = gd.closest('.output');\n",
"if (outputEl) {{\n",
" x.observe(outputEl, {childList: true});\n",
"}}\n",
"\n",
" })\n",
" };\n",
" });\n",
" </script>\n",
" </div>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = px.imshow(auto.corr(),x=list(auto.corr().columns),y=list(auto.corr().columns),width=600, height=600)\n",
"fig.show()"
]
},
{
"cell_type": "markdown",
"execution_count": null,
"metadata": {},
"source": [
"### What's more in Plotly Express\n",
"\n",
"Bellow visualizations are very powerfull and not offered by seaborn yet. Plotly Express is rich in many other such visalizations and can be easily adopt to your EDA as documetation is very easy to follow. \n",
"\n",
"https://plotly.com/python/plotly-express/\n",
"\n",
"### 3D Scatter plot"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
" \n",
" \n",
" <div id=\"a16ec969-da9e-4126-80eb-0ddac9ad0cb5\" class=\"plotly-graph-div\" style=\"height:525px; width:100%;\"></div>\n",
" <script type=\"text/javascript\">\n",
" require([\"plotly\"], function(Plotly) {\n",
" window.PLOTLYENV=window.PLOTLYENV || {};\n",
" \n",
" if (document.getElementById(\"a16ec969-da9e-4126-80eb-0ddac9ad0cb5\")) {\n",
" Plotly.newPlot(\n",
" 'a16ec969-da9e-4126-80eb-0ddac9ad0cb5',\n",
" [{\"hovertemplate\": \"fuel_type=gas<br>normalized_losses=%{x}<br>engine_size=%{y}<br>horsepower=%{z}<extra></extra>\", \"legendgroup\": \"gas\", \"marker\": {\"color\": \"#636efa\", \"symbol\": \"circle\"}, \"mode\": \"markers\", \"name\": \"gas\", \"scene\": \"scene\", \"showlegend\": true, \"type\": \"scatter3d\", \"x\": [168, 168, 168, 164, 164, 161, 158, 168, 158, 192, 192, 188, 188, 149, 149, 149, 149, 121, 98, 81, 118, 118, 118, 148, 148, 148, 148, 110, 145, 137, 137, 101, 101, 101, 110, 78, 106, 106, 85, 85, 85, 107, 110, 110, 145, 115, 115, 104, 104, 104, 113, 113, 150, 150, 150, 150, 129, 115, 129, 115, 115, 118, 122, 142, 140, 140, 140, 161, 161, 161, 161, 153, 153, 139, 139, 139, 125, 125, 125, 137, 128, 128, 122, 103, 128, 128, 122, 103, 168, 106, 106, 128, 108, 108, 194, 194, 231, 161, 161, 161, 161, 161, 161, 119, 119, 154, 154, 154, 74, 141, 186, 128, 128, 128, 129, 129, 150, 104, 150, 104, 150, 104, 83, 83, 83, 102, 102, 102, 102, 102, 89, 89, 85, 85, 87, 87, 74, 77, 81, 91, 91, 91, 91, 91, 91, 168, 168, 168, 168, 134, 134, 134, 134, 134, 134, 65, 65, 65, 65, 197, 197, 90, 133, 122, 94, 94, 94, 137, 256, 132, 132, 103, 74, 103, 74, 103, 74, 95, 95, 95, 95], \"y\": [130, 130, 152, 109, 136, 136, 136, 136, 131, 108, 108, 164, 164, 164, 209, 209, 209, 61, 90, 90, 90, 90, 98, 90, 90, 90, 98, 122, 156, 92, 92, 79, 92, 92, 92, 92, 110, 110, 110, 110, 110, 110, 111, 119, 258, 258, 326, 91, 91, 91, 91, 91, 70, 70, 70, 80, 122, 122, 122, 122, 122, 140, 234, 234, 308, 304, 140, 92, 92, 92, 98, 110, 122, 156, 156, 156, 122, 122, 110, 110, 97, 97, 97, 97, 97, 97, 97, 97, 97, 120, 120, 181, 181, 181, 181, 181, 181, 120, 120, 120, 120, 120, 134, 90, 98, 90, 90, 98, 122, 156, 151, 194, 194, 194, 132, 132, 121, 121, 121, 121, 121, 121, 97, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 92, 92, 92, 92, 92, 92, 98, 98, 98, 98, 98, 98, 98, 98, 98, 146, 146, 146, 146, 146, 146, 122, 122, 122, 122, 171, 171, 171, 161, 109, 109, 109, 109, 109, 109, 136, 109, 141, 141, 141, 141, 130, 130, 141, 141, 173, 141], \"z\": [111, 111, 154, 102, 115, 110, 110, 110, 140, 101, 101, 121, 121, 121, 182, 182, 182, 48, 70, 70, 68, 68, 102, 68, 68, 68, 102, 88, 145, 58, 76, 60, 76, 76, 76, 76, 86, 86, 86, 86, 101, 100, 78, 90, 176, 176, 262, 68, 68, 68, 68, 68, 101, 101, 101, 135, 84, 84, 84, 84, 84, 120, 155, 155, 184, 184, 175, 68, 68, 68, 102, 116, 88, 145, 145, 145, 88, 88, 116, 116, 69, 69, 69, 69, 69, 69, 69, 69, 69, 97, 97, 152, 152, 152, 160, 200, 160, 97, 97, 95, 95, 97, 142, 68, 102, 68, 68, 68, 88, 145, 143, 207, 207, 207, 90, 90, 110, 110, 110, 110, 160, 160, 69, 73, 73, 82, 82, 94, 82, 111, 82, 94, 82, 111, 62, 62, 62, 62, 62, 62, 70, 70, 70, 70, 70, 70, 70, 112, 112, 116, 116, 116, 116, 116, 116, 92, 92, 92, 92, 161, 161, 156, 156, 85, 85, 85, 100, 90, 90, 110, 88, 114, 114, 114, 114, 162, 162, 114, 160, 134, 114]}, {\"hovertemplate\": \"fuel_type=diesel<br>normalized_losses=%{x}<br>engine_size=%{y}<br>horsepower=%{z}<extra></extra>\", \"legendgroup\": \"diesel\", \"marker\": {\"color\": \"#EF553B\", \"symbol\": \"circle\"}, \"mode\": \"markers\", \"name\": \"diesel\", \"scene\": \"scene\", \"showlegend\": true, \"type\": \"scatter3d\", \"x\": [119, 105, 93, 93, 93, 93, 128, 161, 161, 161, 161, 161, 91, 91, 65, 122, 94, 94, 132, 95], \"y\": [122, 134, 183, 183, 183, 183, 103, 152, 152, 152, 152, 152, 110, 110, 110, 97, 97, 97, 97, 145], \"z\": [64, 72, 123, 123, 123, 123, 55, 95, 95, 95, 95, 95, 56, 56, 73, 52, 52, 68, 68, 106]}],\n",
" {\"legend\": {\"title\": {\"text\": \"fuel_type\"}, \"tracegroupgap\": 0}, \"margin\": {\"t\": 60}, \"scene\": {\"domain\": {\"x\": [0.0, 1.0], \"y\": [0.0, 1.0]}, \"xaxis\": {\"title\": {\"text\": \"normalized_losses\"}}, \"yaxis\": {\"title\": {\"text\": \"engine_size\"}}, \"zaxis\": {\"title\": {\"text\": \"horsepower\"}}}, \"template\": {\"data\": {\"bar\": [{\"error_x\": {\"color\": \"#2a3f5f\"}, \"error_y\": {\"color\": \"#2a3f5f\"}, \"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}}, \"type\": \"bar\"}], \"barpolar\": [{\"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}}, \"type\": \"barpolar\"}], \"carpet\": [{\"aaxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"baxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"type\": \"carpet\"}], \"choropleth\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"choropleth\"}], \"contour\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"contour\"}], \"contourcarpet\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"contourcarpet\"}], \"heatmap\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"heatmap\"}], \"heatmapgl\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"heatmapgl\"}], \"histogram\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"histogram\"}], \"histogram2d\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"histogram2d\"}], \"histogram2dcontour\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"histogram2dcontour\"}], \"mesh3d\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"mesh3d\"}], \"parcoords\": [{\"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"parcoords\"}], \"pie\": [{\"automargin\": true, \"type\": \"pie\"}], \"scatter\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatter\"}], \"scatter3d\": [{\"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatter3d\"}], \"scattercarpet\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattercarpet\"}], \"scattergeo\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattergeo\"}], \"scattergl\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattergl\"}], \"scattermapbox\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattermapbox\"}], \"scatterpolar\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterpolar\"}], \"scatterpolargl\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterpolargl\"}], \"scatterternary\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterternary\"}], \"surface\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"surface\"}], \"table\": [{\"cells\": {\"fill\": {\"color\": \"#EBF0F8\"}, \"line\": {\"color\": \"white\"}}, \"header\": {\"fill\": {\"color\": \"#C8D4E3\"}, \"line\": {\"color\": \"white\"}}, \"type\": \"table\"}]}, \"layout\": {\"annotationdefaults\": {\"arrowcolor\": \"#2a3f5f\", \"arrowhead\": 0, \"arrowwidth\": 1}, \"coloraxis\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"colorscale\": {\"diverging\": [[0, \"#8e0152\"], [0.1, \"#c51b7d\"], [0.2, \"#de77ae\"], [0.3, \"#f1b6da\"], [0.4, \"#fde0ef\"], [0.5, \"#f7f7f7\"], [0.6, \"#e6f5d0\"], [0.7, \"#b8e186\"], [0.8, \"#7fbc41\"], [0.9, \"#4d9221\"], [1, \"#276419\"]], \"sequential\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"sequentialminus\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}, \"colorway\": [\"#636efa\", \"#EF553B\", \"#00cc96\", \"#ab63fa\", \"#FFA15A\", \"#19d3f3\", \"#FF6692\", \"#B6E880\", \"#FF97FF\", \"#FECB52\"], \"font\": {\"color\": \"#2a3f5f\"}, \"geo\": {\"bgcolor\": \"white\", \"lakecolor\": \"white\", \"landcolor\": \"#E5ECF6\", \"showlakes\": true, \"showland\": true, \"subunitcolor\": \"white\"}, \"hoverlabel\": {\"align\": \"left\"}, \"hovermode\": \"closest\", \"mapbox\": {\"style\": \"light\"}, \"paper_bgcolor\": \"white\", \"plot_bgcolor\": \"#E5ECF6\", \"polar\": {\"angularaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"bgcolor\": \"#E5ECF6\", \"radialaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"scene\": {\"xaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}, \"yaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}, \"zaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}}, \"shapedefaults\": {\"line\": {\"color\": \"#2a3f5f\"}}, \"ternary\": {\"aaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"baxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"bgcolor\": \"#E5ECF6\", \"caxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"title\": {\"x\": 0.05}, \"xaxis\": {\"automargin\": true, \"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"zerolinewidth\": 2}, \"yaxis\": {\"automargin\": true, \"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"zerolinewidth\": 2}}}},\n",
" {\"responsive\": true}\n",
" ).then(function(){\n",
" \n",
"var gd = document.getElementById('a16ec969-da9e-4126-80eb-0ddac9ad0cb5');\n",
"var x = new MutationObserver(function (mutations, observer) {{\n",
" var display = window.getComputedStyle(gd).display;\n",
" if (!display || display === 'none') {{\n",
" console.log([gd, 'removed!']);\n",
" Plotly.purge(gd);\n",
" observer.disconnect();\n",
" }}\n",
"}});\n",
"\n",
"// Listen for the removal of the full notebook cells\n",
"var notebookContainer = gd.closest('#notebook-container');\n",
"if (notebookContainer) {{\n",
" x.observe(notebookContainer, {childList: true});\n",
"}}\n",
"\n",
"// Listen for the clearing of the current output cell\n",
"var outputEl = gd.closest('.output');\n",
"if (outputEl) {{\n",
" x.observe(outputEl, {childList: true});\n",
"}}\n",
"\n",
" })\n",
" };\n",
" });\n",
" </script>\n",
" </div>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = px.scatter_3d(auto, x='normalized_losses', y='engine_size', z='horsepower', color='fuel_type')\n",
"fig.show()"
]
},
{
"cell_type": "markdown",
"execution_count": null,
"metadata": {},
"source": [
"**Plotly Express is a better option for your EDA than Seaborn. Each Library has its own advantages, But Plotly is a clear winner when it's come to interactive grapgs which allow you to dig in to deeper insights during your EDA. **"
]
}
],
"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.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment