{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Choropleth classification schemes from PySAL for use with GeoPandas\n",
"\n",
"\n",
"PySAL is a [Spatial Analysis Library](), which packages fast spatial algorithms used in various fields. These include Exploratory spatial data analysis, spatial inequality analysis, spatial analysis on networks, spatial dynamics, and many more.\n",
"\n",
"It is used under the hood in geopandas when plotting measures with a set of colors. There are many ways to classify data into different bins, depending on a number of classification schemes.\n",
"\n",
"
\n",
"\n",
"For example, if we have 20 countries whose average annual temperature varies between 5C and 25C, we can classify them in 4 bins by:\n",
"\n",
"* Quantiles\n",
" - Separates the rows into equal parts, 5 countries per bin.\n",
"* Equal Intervals\n",
" - Separates the measure's interval into equal parts, 5C per bin.\n",
"* Natural Breaks (Fischer Jenks)\n",
" - This algorithm tries to split the rows into naturally occurring clusters. The numbers per bin will depend on how the observations are located on the interval."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"ExecuteTime": {
"end_time": "2017-12-15T21:29:37.736444Z",
"start_time": "2017-12-15T21:29:37.716444Z"
}
},
"outputs": [],
"source": [
"import geopandas as gpd\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"ExecuteTime": {
"end_time": "2017-12-15T21:29:39.866422Z",
"start_time": "2017-12-15T21:29:39.846422Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Observations, Attributes: (49, 21)\n"
]
},
{
"data": {
"text/html": [
"
\n", " | AREA | \n", "PERIMETER | \n", "COLUMBUS_ | \n", "COLUMBUS_I | \n", "POLYID | \n", "NEIG | \n", "HOVAL | \n", "INC | \n", "CRIME | \n", "OPEN | \n", "... | \n", "DISCBD | \n", "X | \n", "Y | \n", "NSA | \n", "NSB | \n", "EW | \n", "CP | \n", "THOUS | \n", "NEIGNO | \n", "geometry | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "0.309441 | \n", "2.440629 | \n", "2 | \n", "5 | \n", "1 | \n", "5 | \n", "80.467003 | \n", "19.531 | \n", "15.725980 | \n", "2.850747 | \n", "... | \n", "5.03 | \n", "38.799999 | \n", "44.070000 | \n", "1.0 | \n", "1.0 | \n", "1.0 | \n", "0.0 | \n", "1000.0 | \n", "1005.0 | \n", "POLYGON ((8.62413 14.23698, 8.55970 14.74245, ... | \n", "
1 | \n", "0.259329 | \n", "2.236939 | \n", "3 | \n", "1 | \n", "2 | \n", "1 | \n", "44.567001 | \n", "21.232 | \n", "18.801754 | \n", "5.296720 | \n", "... | \n", "4.27 | \n", "35.619999 | \n", "42.380001 | \n", "1.0 | \n", "1.0 | \n", "0.0 | \n", "0.0 | \n", "1000.0 | \n", "1001.0 | \n", "POLYGON ((8.25279 14.23694, 8.28276 14.22994, ... | \n", "
2 | \n", "0.192468 | \n", "2.187547 | \n", "4 | \n", "6 | \n", "3 | \n", "6 | \n", "26.350000 | \n", "15.956 | \n", "30.626781 | \n", "4.534649 | \n", "... | \n", "3.89 | \n", "39.820000 | \n", "41.180000 | \n", "1.0 | \n", "1.0 | \n", "1.0 | \n", "0.0 | \n", "1000.0 | \n", "1006.0 | \n", "POLYGON ((8.65331 14.00809, 8.81814 14.00205, ... | \n", "
3 | \n", "0.083841 | \n", "1.427635 | \n", "5 | \n", "2 | \n", "4 | \n", "2 | \n", "33.200001 | \n", "4.477 | \n", "32.387760 | \n", "0.394427 | \n", "... | \n", "3.70 | \n", "36.500000 | \n", "40.520000 | \n", "1.0 | \n", "1.0 | \n", "0.0 | \n", "0.0 | \n", "1000.0 | \n", "1002.0 | \n", "POLYGON ((8.45950 13.82035, 8.47341 13.83227, ... | \n", "
4 | \n", "0.488888 | \n", "2.997133 | \n", "6 | \n", "7 | \n", "5 | \n", "7 | \n", "23.225000 | \n", "11.252 | \n", "50.731510 | \n", "0.405664 | \n", "... | \n", "2.83 | \n", "40.009998 | \n", "38.000000 | \n", "1.0 | \n", "1.0 | \n", "1.0 | \n", "0.0 | \n", "1000.0 | \n", "1007.0 | \n", "POLYGON ((8.68527 13.63952, 8.67758 13.72221, ... | \n", "
5 rows × 21 columns
\n", "\n", " | AREA | \n", "PERIMETER | \n", "COLUMBUS_ | \n", "COLUMBUS_I | \n", "POLYID | \n", "NEIG | \n", "HOVAL | \n", "INC | \n", "CRIME | \n", "OPEN | \n", "... | \n", "X | \n", "Y | \n", "NSA | \n", "NSB | \n", "EW | \n", "CP | \n", "THOUS | \n", "NEIGNO | \n", "geometry | \n", "Max_P | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "0.309441 | \n", "2.440629 | \n", "2 | \n", "5 | \n", "1 | \n", "5 | \n", "80.467003 | \n", "19.531 | \n", "15.725980 | \n", "2.850747 | \n", "... | \n", "38.799999 | \n", "44.070000 | \n", "1.0 | \n", "1.0 | \n", "1.0 | \n", "0.0 | \n", "1000.0 | \n", "1005.0 | \n", "POLYGON ((8.62413 14.23698, 8.55970 14.74245, ... | \n", "0 | \n", "
1 | \n", "0.259329 | \n", "2.236939 | \n", "3 | \n", "1 | \n", "2 | \n", "1 | \n", "44.567001 | \n", "21.232 | \n", "18.801754 | \n", "5.296720 | \n", "... | \n", "35.619999 | \n", "42.380001 | \n", "1.0 | \n", "1.0 | \n", "0.0 | \n", "0.0 | \n", "1000.0 | \n", "1001.0 | \n", "POLYGON ((8.25279 14.23694, 8.28276 14.22994, ... | \n", "0 | \n", "
2 | \n", "0.192468 | \n", "2.187547 | \n", "4 | \n", "6 | \n", "3 | \n", "6 | \n", "26.350000 | \n", "15.956 | \n", "30.626781 | \n", "4.534649 | \n", "... | \n", "39.820000 | \n", "41.180000 | \n", "1.0 | \n", "1.0 | \n", "1.0 | \n", "0.0 | \n", "1000.0 | \n", "1006.0 | \n", "POLYGON ((8.65331 14.00809, 8.81814 14.00205, ... | \n", "2 | \n", "
3 | \n", "0.083841 | \n", "1.427635 | \n", "5 | \n", "2 | \n", "4 | \n", "2 | \n", "33.200001 | \n", "4.477 | \n", "32.387760 | \n", "0.394427 | \n", "... | \n", "36.500000 | \n", "40.520000 | \n", "1.0 | \n", "1.0 | \n", "0.0 | \n", "0.0 | \n", "1000.0 | \n", "1002.0 | \n", "POLYGON ((8.45950 13.82035, 8.47341 13.83227, ... | \n", "2 | \n", "
4 | \n", "0.488888 | \n", "2.997133 | \n", "6 | \n", "7 | \n", "5 | \n", "7 | \n", "23.225000 | \n", "11.252 | \n", "50.731510 | \n", "0.405664 | \n", "... | \n", "40.009998 | \n", "38.000000 | \n", "1.0 | \n", "1.0 | \n", "1.0 | \n", "0.0 | \n", "1000.0 | \n", "1007.0 | \n", "POLYGON ((8.68527 13.63952, 8.67758 13.72221, ... | \n", "3 | \n", "
5 rows × 22 columns
\n", "