{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Choropleth classification schemes from PySAL for use with GeoPandas\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", "* 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 naturaly 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" }, "collapsed": true }, "outputs": [], "source": [ "%matplotlib inline\n", "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.624129295349121 14.23698043823242,... | \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.252790451049805 14.23694038391113,... | \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.653305053710938 14.00809001922607,... | \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.459499359130859 13.82034969329834,... | \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.685274124145508 13.63951969146729,... | \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.624129295349121 14.23698043823242,... | \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.252790451049805 14.23694038391113,... | \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.653305053710938 14.00809001922607,... | \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.459499359130859 13.82034969329834,... | \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.685274124145508 13.63951969146729,... | \n", "3 | \n", "
5 rows × 22 columns
\n", "