{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.5.0+105.g065f6f3.dirty\n" ] } ], "source": [ "import os\n", "import folium\n", "\n", "print(folium.__version__)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Introduction\n", "\n", "In this notebook we'll make a choropleth with a timeslider. We'll use my branched version of `folium`, which contains a plugin with a class called `TimeDynamicGeoJson`.\n", "\n", "The class needs at least two arguments to be instantiated. \n", "\n", "1. A string-serielized geojson containing all the features (i.e., the areas)\n", "2. A dictionary with the following structure:\n", "\n", "```python\n", "styledict = {\n", " '0': {\n", " '2017-1-1': {'color': 'ffffff', 'opacity': 1}\n", " '2017-1-2': {'color': 'fffff0', 'opacity': 1}\n", " ...\n", " },\n", " ...,\n", " 'n': {\n", " '2017-1-1': {'color': 'ffffff', 'opacity': 1}\n", " '2017-1-2': {'color': 'fffff0', 'opacity': 1}\n", " ...\n", " }\n", "}\n", "```\n", "\n", "In the above dictionary, the keys are the feature-ids.\n", "\n", "Using both color and opacity gives us the ability to simultaneously visualize two features on the choropleth. I typically use color to visualize the main feature (like, average height) and opacity to visualize how many measurements were in that group.\n", "\n", "## Loading the features\n", "We use `geopandas` to load a dataset containing the boundaries of all the countries in the world." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import geopandas as gpd\n", "\n", "\n", "assert 'naturalearth_lowres' in gpd.datasets.available\n", "datapath = gpd.datasets.get_path('naturalearth_lowres')\n", "gdf = gpd.read_file(datapath)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "\n", "ax = gdf.plot(figsize=(10, 10))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `GeoDataFrame` contains the boundary coordinates, as well as some other data such as estimated population." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
pop_estcontinentnameiso_a3gdp_md_estgeometry
028400000.0AsiaAfghanistanAFG22270.0POLYGON ((61.21081709172574 35.65007233330923,...
112799293.0AfricaAngolaAGO110300.0(POLYGON ((16.32652835456705 -5.87747039146621...
23639453.0EuropeAlbaniaALB21810.0POLYGON ((20.59024743010491 41.85540416113361,...
34798491.0AsiaUnited Arab EmiratesARE184300.0POLYGON ((51.57951867046327 24.24549713795111,...
440913584.0South AmericaArgentinaARG573900.0(POLYGON ((-65.50000000000003 -55.199999999999...
\n", "
" ], "text/plain": [ " pop_est continent name iso_a3 gdp_md_est \\\n", "0 28400000.0 Asia Afghanistan AFG 22270.0 \n", "1 12799293.0 Africa Angola AGO 110300.0 \n", "2 3639453.0 Europe Albania ALB 21810.0 \n", "3 4798491.0 Asia United Arab Emirates ARE 184300.0 \n", "4 40913584.0 South America Argentina ARG 573900.0 \n", "\n", " geometry \n", "0 POLYGON ((61.21081709172574 35.65007233330923,... \n", "1 (POLYGON ((16.32652835456705 -5.87747039146621... \n", "2 POLYGON ((20.59024743010491 41.85540416113361,... \n", "3 POLYGON ((51.57951867046327 24.24549713795111,... \n", "4 (POLYGON ((-65.50000000000003 -55.199999999999... " ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gdf.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Creating the style dictionary\n", "Now we generate time series data for each country. \n", "\n", "Data for different areas might be sampled at different times, and `TimeDynamicGeoJson` can deal with that. This means that there is no need to resample the data, as long as the number of datapoints isn't too large for the browser to deal with. \n", "\n", "To simulate that data is sampled at different times we random sample data for `n_periods` rows of data and then pick without replacing `n_sample` of those rows. " ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array(['1454205600', '1456714800', '1459393200', '1461985200',\n", " '1464663600', '1467255600', '1469934000', '1472612400',\n", " '1475204400', '1477879200', '1480471200', '1483149600',\n", " '1485828000', '1488250800', '1490929200', '1493521200',\n", " '1496199600', '1498791600', '1501470000', '1504148400',\n", " '1506740400', '1509415200', '1512007200', '1514685600',\n", " '1517364000', '1519786800', '1522465200', '1525057200',\n", " '1527735600', '1530327600', '1533006000', '1535684400',\n", " '1538276400', '1540954800', '1543543200', '1546221600',\n", " '1548900000', '1551322800', '1554001200', '1556593200',\n", " '1559271600', '1561863600', '1564542000', '1567220400',\n", " '1569812400', '1572490800', '1575079200', '1577757600'],\n", " dtype='\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
coloropacity
14542056000.5626860.696947
1456714800-0.8595470.692121
1459393200-0.3250920.183145
1461985200-1.4300400.543378
1464663600-1.670341-0.148390
\n", "" ], "text/plain": [ " color opacity\n", "1454205600 0.562686 0.696947\n", "1456714800 -0.859547 0.692121\n", "1459393200 -0.325092 0.183145\n", "1461985200 -1.430040 0.543378\n", "1464663600 -1.670341 -0.148390" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "styledata.get(0).head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We see that we generated two series of data for each country; one for color and one for opacity. Let's plot them to see what they look like. " ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ax = df.plot()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Looks random alright. We want to map the column named `color` to a hex color. To do this we use a normal colormap. To create the colormap, we calculate the maximum and minimum values over all the timeseries. We also need the max/min of the `opacity` column, so that we can map that column into a range [0,1]." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "max_color, min_color, max_opacity, min_opacity = 0, 0, 0, 0\n", "\n", "for country, data in styledata.items():\n", " max_color = max(max_color, data['color'].max())\n", " min_color = min(max_color, data['color'].min())\n", " max_opacity = max(max_color, data['opacity'].max())\n", " max_opacity = min(max_color, data['opacity'].max())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Define and apply maps: " ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "from branca.colormap import linear\n", "\n", "\n", "cmap = linear.PuRd_09.scale(min_color, max_color)\n", "\n", "\n", "def norm(x):\n", " return (x - x.min()) / (x.max() - x.min())\n", "\n", "\n", "for country, data in styledata.items():\n", " data['color'] = data['color'].apply(cmap)\n", " data['opacity'] = norm(data['opacity'])" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
coloropacity
1454205600#e3d8eb0.341257
1456714800#ede8f30.340823
1459393200#e9e4f10.294992
1461985200#f0ecf50.327429
1464663600#f2eef60.265140
\n", "
" ], "text/plain": [ " color opacity\n", "1454205600 #e3d8eb 0.341257\n", "1456714800 #ede8f3 0.340823\n", "1459393200 #e9e4f1 0.294992\n", "1461985200 #f0ecf5 0.327429\n", "1464663600 #f2eef6 0.265140" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "styledata.get(0).head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally we use `pd.DataFrame.to_dict()` to convert each dataframe into a dictionary, and place each of these in a map from country id to data. " ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "styledict = {\n", " str(country): data.to_dict(orient='index') for\n", " country, data in styledata.items()\n", "}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally we can create the choropleth. I like to use the Stamen Toner tileset because its monochrome colors makes it neutral and clean looking. \n", "\n", "If the time slider above doesn't show up in the notebook, it's probably because the output is being cropped. Try loading the saved .html file in your browser for the fullscreen experience. " ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "scrolled": false }, "outputs": [ { "data": { "text/html": [ "
" ], "text/plain": [ "" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from folium.plugins import TimeSliderChoropleth\n", "\n", "m = folium.Map([0, 0], tiles='Stamen Toner', zoom_start=2)\n", "\n", "g = TimeSliderChoropleth(\n", " gdf.to_json(),\n", " styledict=styledict,\n", "\n", ").add_to(m)\n", "\n", "m.save(os.path.join('results', 'TimeSliderChoropleth.html'))\n", "\n", "m" ] } ], "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.1" } }, "nbformat": 4, "nbformat_minor": 2 }