{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "In this notebook we use the new Sunburst plot by [plotly](http://plot.ly/) to illustrate how the World population\n", "is splitted among regions and countries. The data set illustrated here originates from the\n", "[World Bank](https://data.worldbank.org). This notebook is also a quick demo for the \n", "[world_bank_data](https://github.com/mwouts/world_bank_data/blob/master/README.md) Python package." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/html": [ " \n", " " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import pandas as pd\n", "import plotly\n", "import plotly.offline as offline\n", "import world_bank_data as wb\n", "\n", "\n", "def version_to_int_list(version):\n", " return [int(s) for s in version.split('.')]\n", "\n", "\n", "assert version_to_int_list(plotly.__version__) >= version_to_int_list('3.8.0'), 'Sunburst plots require Plotly >= 3.8.0'\n", "\n", "pd.set_option('display.max_rows', 12)\n", "offline.init_notebook_mode()" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \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", "
iso2CodenameregionadminregionincomeLevellendingTypecapitalCitylongitudelatitude
id
ABWAWArubaLatin America & CaribbeanHigh incomeNot classifiedOranjestad-70.016712.51670
AFGAFAfghanistanSouth AsiaSouth AsiaLow incomeIDAKabul69.176134.52280
AFRA9AfricaAggregatesAggregatesAggregatesNaNNaN
AGOAOAngolaSub-Saharan AfricaSub-Saharan Africa (excluding high income)Lower middle incomeIBRDLuanda13.2420-8.81155
ALBALAlbaniaEurope & Central AsiaEurope & Central Asia (excluding high income)Upper middle incomeIBRDTirane19.817241.33170
ANDADAndorraEurope & Central AsiaHigh incomeNot classifiedAndorra la Vella1.521842.50750
..............................
XKXXKKosovoEurope & Central AsiaEurope & Central Asia (excluding high income)Upper middle incomeIDAPristina20.926042.56500
XZNA5Sub-Saharan Africa excluding South Africa and ...AggregatesAggregatesAggregatesNaNNaN
YEMYEYemen, Rep.Middle East & North AfricaMiddle East & North Africa (excluding high inc...Low incomeIDASana'a44.207515.35200
ZAFZASouth AfricaSub-Saharan AfricaSub-Saharan Africa (excluding high income)Upper middle incomeIBRDPretoria28.1871-25.74600
ZMBZMZambiaSub-Saharan AfricaSub-Saharan Africa (excluding high income)Lower middle incomeIDALusaka28.2937-15.39820
ZWEZWZimbabweSub-Saharan AfricaSub-Saharan Africa (excluding high income)Lower middle incomeBlendHarare31.0672-17.83120
\n", "

304 rows × 9 columns

\n", "
" ], "text/plain": [ " iso2Code name \\\n", "id \n", "ABW AW Aruba \n", "AFG AF Afghanistan \n", "AFR A9 Africa \n", "AGO AO Angola \n", "ALB AL Albania \n", "AND AD Andorra \n", ".. ... ... \n", "XKX XK Kosovo \n", "XZN A5 Sub-Saharan Africa excluding South Africa and ... \n", "YEM YE Yemen, Rep. \n", "ZAF ZA South Africa \n", "ZMB ZM Zambia \n", "ZWE ZW Zimbabwe \n", "\n", " region \\\n", "id \n", "ABW Latin America & Caribbean \n", "AFG South Asia \n", "AFR Aggregates \n", "AGO Sub-Saharan Africa \n", "ALB Europe & Central Asia \n", "AND Europe & Central Asia \n", ".. ... \n", "XKX Europe & Central Asia \n", "XZN Aggregates \n", "YEM Middle East & North Africa \n", "ZAF Sub-Saharan Africa \n", "ZMB Sub-Saharan Africa \n", "ZWE Sub-Saharan Africa \n", "\n", " adminregion incomeLevel \\\n", "id \n", "ABW High income \n", "AFG South Asia Low income \n", "AFR Aggregates \n", "AGO Sub-Saharan Africa (excluding high income) Lower middle income \n", "ALB Europe & Central Asia (excluding high income) Upper middle income \n", "AND High income \n", ".. ... ... \n", "XKX Europe & Central Asia (excluding high income) Upper middle income \n", "XZN Aggregates \n", "YEM Middle East & North Africa (excluding high inc... Low income \n", "ZAF Sub-Saharan Africa (excluding high income) Upper middle income \n", "ZMB Sub-Saharan Africa (excluding high income) Lower middle income \n", "ZWE Sub-Saharan Africa (excluding high income) Lower middle income \n", "\n", " lendingType capitalCity longitude latitude \n", "id \n", "ABW Not classified Oranjestad -70.0167 12.51670 \n", "AFG IDA Kabul 69.1761 34.52280 \n", "AFR Aggregates NaN NaN \n", "AGO IBRD Luanda 13.2420 -8.81155 \n", "ALB IBRD Tirane 19.8172 41.33170 \n", "AND Not classified Andorra la Vella 1.5218 42.50750 \n", ".. ... ... ... ... \n", "XKX IDA Pristina 20.9260 42.56500 \n", "XZN Aggregates NaN NaN \n", "YEM IDA Sana'a 44.2075 15.35200 \n", "ZAF IBRD Pretoria 28.1871 -25.74600 \n", "ZMB IDA Lusaka 28.2937 -15.39820 \n", "ZWE Blend Harare 31.0672 -17.83120 \n", "\n", "[304 rows x 9 columns]" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Countries and associated regions\n", "countries = wb.get_countries()\n", "countries" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Country Series Year\n", "Arab World Population, total 2018 4.197906e+08\n", "Caribbean small states Population, total 2018 7.358965e+06\n", "Central Europe and the Baltics Population, total 2018 1.025119e+08\n", "Early-demographic dividend Population, total 2018 3.249141e+09\n", "East Asia & Pacific Population, total 2018 2.328221e+09\n", "East Asia & Pacific (excluding high income) Population, total 2018 2.081652e+09\n", " ... \n", "Vietnam Population, total 2018 9.554040e+07\n", "Virgin Islands (U.S.) Population, total 2018 1.069770e+05\n", "West Bank and Gaza Population, total 2018 4.569087e+06\n", "Yemen, Rep. Population, total 2018 2.849869e+07\n", "Zambia Population, total 2018 1.735182e+07\n", "Zimbabwe Population, total 2018 1.443902e+07\n", "Name: SP.POP.TOTL, Length: 264, dtype: float64" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Population dataset, by the World Bank (most recent value)\n", "population = wb.get_series('SP.POP.TOTL', mrv=1)\n", "population" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Country\n", "ARB 4.197906e+08\n", "CSS 7.358965e+06\n", "CEB 1.025119e+08\n", "EAR 3.249141e+09\n", "EAS 2.328221e+09\n", "EAP 2.081652e+09\n", " ... \n", "VNM 9.554040e+07\n", "VIR 1.069770e+05\n", "PSE 4.569087e+06\n", "YEM 2.849869e+07\n", "ZMB 1.735182e+07\n", "ZWE 1.443902e+07\n", "Name: SP.POP.TOTL, Length: 264, dtype: float64" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Same data set, indexed with the country code\n", "population = wb.get_series('SP.POP.TOTL', id_or_value='id', simplify_index=True, mrv=1)\n", "population" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
regioncountrypopulation
id
ABWLatin America & CaribbeanAruba105845.0
AFGSouth AsiaAfghanistan37172386.0
AGOSub-Saharan AfricaAngola30809762.0
ALBEurope & Central AsiaAlbania2866376.0
ANDEurope & Central AsiaAndorra77006.0
AREMiddle East & North AfricaUnited Arab Emirates9630959.0
............
WSMEast Asia & PacificSamoa196130.0
XKXEurope & Central AsiaKosovo1845300.0
YEMMiddle East & North AfricaYemen, Rep.28498687.0
ZAFSub-Saharan AfricaSouth Africa57779622.0
ZMBSub-Saharan AfricaZambia17351822.0
ZWESub-Saharan AfricaZimbabwe14439018.0
\n", "

218 rows × 3 columns

\n", "
" ], "text/plain": [ " region country population\n", "id \n", "ABW Latin America & Caribbean Aruba 105845.0\n", "AFG South Asia Afghanistan 37172386.0\n", "AGO Sub-Saharan Africa Angola 30809762.0\n", "ALB Europe & Central Asia Albania 2866376.0\n", "AND Europe & Central Asia Andorra 77006.0\n", "ARE Middle East & North Africa United Arab Emirates 9630959.0\n", ".. ... ... ...\n", "WSM East Asia & Pacific Samoa 196130.0\n", "XKX Europe & Central Asia Kosovo 1845300.0\n", "YEM Middle East & North Africa Yemen, Rep. 28498687.0\n", "ZAF Sub-Saharan Africa South Africa 57779622.0\n", "ZMB Sub-Saharan Africa Zambia 17351822.0\n", "ZWE Sub-Saharan Africa Zimbabwe 14439018.0\n", "\n", "[218 rows x 3 columns]" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Aggregate region, country and population\n", "df = countries[['region', 'name']].rename(columns={'name': 'country'}).loc[countries.region != 'Aggregates']\n", "df['population'] = population\n", "df" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
parentslabelsvaluestext
0Latin America & CaribbeanAruba105845.0105,845
1South AsiaAfghanistan37172386.037,172,386
2Sub-Saharan AfricaAngola30809762.030,809,762
3Europe & Central AsiaAlbania2866376.02,866,376
4Europe & Central AsiaAndorra77006.077,006
5Middle East & North AfricaUnited Arab Emirates9630959.09,630,959
...............
220WorldLatin America & Caribbean0.0641,357,515
221WorldMiddle East & North Africa0.0448,912,859
222WorldNorth America0.0364,290,258
223WorldSouth Asia0.01,814,388,744
224WorldSub-Saharan Africa0.01,074,853,734
225World0.07,594,270,356
\n", "

226 rows × 4 columns

\n", "
" ], "text/plain": [ " parents labels values \\\n", "0 Latin America & Caribbean Aruba 105845.0 \n", "1 South Asia Afghanistan 37172386.0 \n", "2 Sub-Saharan Africa Angola 30809762.0 \n", "3 Europe & Central Asia Albania 2866376.0 \n", "4 Europe & Central Asia Andorra 77006.0 \n", "5 Middle East & North Africa United Arab Emirates 9630959.0 \n", ".. ... ... ... \n", "220 World Latin America & Caribbean 0.0 \n", "221 World Middle East & North Africa 0.0 \n", "222 World North America 0.0 \n", "223 World South Asia 0.0 \n", "224 World Sub-Saharan Africa 0.0 \n", "225 World 0.0 \n", "\n", " text \n", "0 105,845 \n", "1 37,172,386 \n", "2 30,809,762 \n", "3 2,866,376 \n", "4 77,006 \n", "5 9,630,959 \n", ".. ... \n", "220 641,357,515 \n", "221 448,912,859 \n", "222 364,290,258 \n", "223 1,814,388,744 \n", "224 1,074,853,734 \n", "225 7,594,270,356 \n", "\n", "[226 rows x 4 columns]" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# The sunburst plot requires weights (values), labels, and parent (region, or World)\n", "# We build the corresponding table here\n", "columns = ['parents', 'labels', 'values']\n", "\n", "level1 = df.copy()\n", "level1.columns = columns\n", "level1['text'] = level1['values'].apply(lambda pop: '{:,.0f}'.format(pop))\n", "\n", "level2 = df.groupby('region').population.sum().reset_index()[['region', 'region', 'population']]\n", "level2.columns = columns\n", "level2['parents'] = 'World'\n", "# move value to text for this level\n", "level2['text'] = level2['values'].apply(lambda pop: '{:,.0f}'.format(pop))\n", "level2['values'] = 0\n", "\n", "level3 = pd.DataFrame({'parents': [''], 'labels': ['World'],\n", " 'values': [0.0], 'text': ['{:,.0f}'.format(population.loc['WLD'])]})\n", "\n", "all_levels = pd.concat([level1, level2, level3], axis=0).reset_index(drop=True)\n", "all_levels" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "linkText": "Export to plot.ly", "plotlyServerURL": "https://plot.ly", "showLink": false }, "data": [ { "hoverinfo": "text", "labels": [ "Aruba", "Afghanistan", "Angola", "Albania", "Andorra", "United Arab Emirates", "Argentina", "Armenia", "American Samoa", "Antigua and Barbuda", "Australia", "Austria", "Azerbaijan", "Burundi", "Belgium", "Benin", "Burkina Faso", "Bangladesh", "Bulgaria", "Bahrain", "Bahamas, The", "Bosnia and Herzegovina", "Belarus", "Belize", "Bermuda", "Bolivia", "Brazil", "Barbados", "Brunei Darussalam", "Bhutan", "Botswana", "Central African Republic", "Canada", "Switzerland", "Channel Islands", "Chile", "China", "Cote d'Ivoire", "Cameroon", "Congo, Dem. Rep.", "Congo, Rep.", "Colombia", "Comoros", "Cabo Verde", "Costa Rica", "Cuba", "Curacao", "Cayman Islands", "Cyprus", "Czech Republic", "Germany", "Djibouti", "Dominica", "Denmark", "Dominican Republic", "Algeria", "Ecuador", "Egypt, Arab Rep.", "Eritrea", "Spain", "Estonia", "Ethiopia", "Finland", "Fiji", "France", "Faroe Islands", "Micronesia, Fed. Sts.", "Gabon", "United Kingdom", "Georgia", "Ghana", "Gibraltar", "Guinea", "Gambia, The", "Guinea-Bissau", "Equatorial Guinea", "Greece", "Grenada", "Greenland", "Guatemala", "Guam", "Guyana", "Hong Kong SAR, China", "Honduras", "Croatia", "Haiti", "Hungary", "Indonesia", "Isle of Man", "India", "Ireland", "Iran, Islamic Rep.", "Iraq", "Iceland", "Israel", "Italy", "Jamaica", "Jordan", "Japan", "Kazakhstan", "Kenya", "Kyrgyz Republic", "Cambodia", "Kiribati", "St. Kitts and Nevis", "Korea, Rep.", "Kuwait", "Lao PDR", "Lebanon", "Liberia", "Libya", "St. Lucia", "Liechtenstein", "Sri Lanka", "Lesotho", "Lithuania", "Luxembourg", "Latvia", "Macao SAR, China", "St. Martin (French part)", "Morocco", "Monaco", "Moldova", "Madagascar", "Maldives", "Mexico", "Marshall Islands", "North Macedonia", "Mali", "Malta", "Myanmar", "Montenegro", "Mongolia", "Northern Mariana Islands", "Mozambique", "Mauritania", "Mauritius", "Malawi", "Malaysia", "Namibia", "New Caledonia", "Niger", "Nigeria", "Nicaragua", "Netherlands", "Norway", "Nepal", "Nauru", "New Zealand", "Oman", "Pakistan", "Panama", "Peru", "Philippines", "Palau", "Papua New Guinea", "Poland", "Puerto Rico", "Korea, Dem. People’s Rep.", "Portugal", "Paraguay", "West Bank and Gaza", "French Polynesia", "Qatar", "Romania", "Russian Federation", "Rwanda", "Saudi Arabia", "Sudan", "Senegal", "Singapore", "Solomon Islands", "Sierra Leone", "El Salvador", "San Marino", "Somalia", "Serbia", "South Sudan", "Sao Tome and Principe", "Suriname", "Slovak Republic", "Slovenia", "Sweden", "Eswatini", "Sint Maarten (Dutch part)", "Seychelles", "Syrian Arab Republic", "Turks and Caicos Islands", "Chad", "Togo", "Thailand", "Tajikistan", "Turkmenistan", "Timor-Leste", "Tonga", "Trinidad and Tobago", "Tunisia", "Turkey", "Tuvalu", "Taiwan, China", "Tanzania", "Uganda", "Ukraine", "Uruguay", "United States", "Uzbekistan", "St. Vincent and the Grenadines", "Venezuela, RB", "British Virgin Islands", "Virgin Islands (U.S.)", "Vietnam", "Vanuatu", "Samoa", "Kosovo", "Yemen, Rep.", "South Africa", "Zambia", "Zimbabwe", "East Asia & Pacific", "Europe & Central Asia", "Latin America & Caribbean ", "Middle East & North Africa", "North America", "South Asia", "Sub-Saharan Africa ", "World" ], "parents": [ "Latin America & Caribbean ", "South Asia", "Sub-Saharan Africa ", "Europe & Central Asia", "Europe & Central Asia", "Middle East & North Africa", "Latin America & Caribbean ", "Europe & Central Asia", "East Asia & Pacific", "Latin America & Caribbean ", "East Asia & Pacific", "Europe & Central Asia", "Europe & Central Asia", "Sub-Saharan Africa ", "Europe & Central Asia", "Sub-Saharan Africa ", "Sub-Saharan Africa ", "South Asia", "Europe & Central Asia", "Middle East & North Africa", "Latin America & Caribbean ", "Europe & Central Asia", "Europe & Central Asia", "Latin America & Caribbean ", "North America", "Latin America & Caribbean ", "Latin America & Caribbean ", "Latin America & Caribbean ", "East Asia & Pacific", "South Asia", "Sub-Saharan Africa ", "Sub-Saharan Africa ", "North America", "Europe & Central Asia", "Europe & Central Asia", "Latin America & Caribbean ", "East Asia & Pacific", "Sub-Saharan Africa ", "Sub-Saharan Africa ", "Sub-Saharan Africa ", "Sub-Saharan Africa ", "Latin America & Caribbean ", "Sub-Saharan Africa ", "Sub-Saharan Africa ", "Latin America & Caribbean ", "Latin America & Caribbean ", "Latin America & Caribbean ", "Latin America & Caribbean ", "Europe & Central Asia", "Europe & Central Asia", "Europe & Central Asia", "Middle East & North Africa", "Latin America & Caribbean ", "Europe & Central Asia", "Latin America & Caribbean ", "Middle East & North Africa", "Latin America & Caribbean ", "Middle East & North Africa", "Sub-Saharan Africa ", "Europe & Central Asia", "Europe & Central Asia", "Sub-Saharan Africa ", "Europe & Central Asia", "East Asia & Pacific", "Europe & Central Asia", "Europe & Central Asia", "East Asia & Pacific", "Sub-Saharan Africa ", "Europe & Central Asia", "Europe & Central Asia", "Sub-Saharan Africa ", "Europe & Central Asia", "Sub-Saharan Africa ", "Sub-Saharan Africa ", "Sub-Saharan Africa ", "Sub-Saharan Africa ", "Europe & Central Asia", "Latin America & Caribbean ", "Europe & Central Asia", "Latin America & Caribbean ", "East Asia & Pacific", "Latin America & Caribbean ", "East Asia & Pacific", "Latin America & Caribbean ", "Europe & Central Asia", "Latin America & Caribbean ", "Europe & Central Asia", "East Asia & Pacific", "Europe & Central Asia", "South Asia", "Europe & Central Asia", "Middle East & North Africa", "Middle East & North Africa", "Europe & Central Asia", "Middle East & North Africa", "Europe & Central Asia", "Latin America & Caribbean ", "Middle East & North Africa", "East Asia & Pacific", "Europe & Central Asia", "Sub-Saharan Africa ", "Europe & Central Asia", "East Asia & Pacific", "East Asia & Pacific", "Latin America & Caribbean ", "East Asia & Pacific", "Middle East & North Africa", "East Asia & Pacific", "Middle East & North Africa", "Sub-Saharan Africa ", "Middle East & North Africa", "Latin America & Caribbean ", "Europe & Central Asia", "South Asia", "Sub-Saharan Africa ", "Europe & Central Asia", "Europe & Central Asia", "Europe & Central Asia", "East Asia & Pacific", "Latin America & Caribbean ", "Middle East & North Africa", "Europe & Central Asia", "Europe & Central Asia", "Sub-Saharan Africa ", "South Asia", "Latin America & Caribbean ", "East Asia & Pacific", "Europe & Central Asia", "Sub-Saharan Africa ", "Middle East & North Africa", "East Asia & Pacific", "Europe & Central Asia", "East Asia & Pacific", "East Asia & Pacific", "Sub-Saharan Africa ", "Sub-Saharan Africa ", "Sub-Saharan Africa ", "Sub-Saharan Africa ", "East Asia & Pacific", "Sub-Saharan Africa ", "East Asia & Pacific", "Sub-Saharan Africa ", "Sub-Saharan Africa ", "Latin America & Caribbean ", "Europe & Central Asia", "Europe & Central Asia", "South Asia", "East Asia & Pacific", "East Asia & Pacific", "Middle East & North Africa", "South Asia", "Latin America & Caribbean ", "Latin America & Caribbean ", "East Asia & Pacific", "East Asia & Pacific", "East Asia & Pacific", "Europe & Central Asia", "Latin America & Caribbean ", "East Asia & Pacific", "Europe & Central Asia", "Latin America & Caribbean ", "Middle East & North Africa", "East Asia & Pacific", "Middle East & North Africa", "Europe & Central Asia", "Europe & Central Asia", "Sub-Saharan Africa ", "Middle East & North Africa", "Sub-Saharan Africa ", "Sub-Saharan Africa ", "East Asia & Pacific", "East Asia & Pacific", "Sub-Saharan Africa ", "Latin America & Caribbean ", "Europe & Central Asia", "Sub-Saharan Africa ", "Europe & Central Asia", "Sub-Saharan Africa ", "Sub-Saharan Africa ", "Latin America & Caribbean ", "Europe & Central Asia", "Europe & Central Asia", "Europe & Central Asia", "Sub-Saharan Africa ", "Latin America & Caribbean ", "Sub-Saharan Africa ", "Middle East & North Africa", "Latin America & Caribbean ", "Sub-Saharan Africa ", "Sub-Saharan Africa ", "East Asia & Pacific", "Europe & Central Asia", "Europe & Central Asia", "East Asia & Pacific", "East Asia & Pacific", "Latin America & Caribbean ", "Middle East & North Africa", "Europe & Central Asia", "East Asia & Pacific", "East Asia & Pacific", "Sub-Saharan Africa ", "Sub-Saharan Africa ", "Europe & Central Asia", "Latin America & Caribbean ", "North America", "Europe & Central Asia", "Latin America & Caribbean ", "Latin America & Caribbean ", "Latin America & Caribbean ", "Latin America & Caribbean ", "East Asia & Pacific", "East Asia & Pacific", "East Asia & Pacific", "Europe & Central Asia", "Middle East & North Africa", "Sub-Saharan Africa ", "Sub-Saharan Africa ", "Sub-Saharan Africa ", "World", "World", "World", "World", "World", "World", "World", "" ], "text": [ "105,845", "37,172,386", "30,809,762", "2,866,376", "77,006", "9,630,959", "44,494,502", "2,951,776", "55,465", "96,286", "24,992,369", "8,847,037", "9,942,334", "11,175,378", "11,422,068", "11,485,048", "19,751,535", "161,356,039", "7,024,216", "1,569,439", "385,640", "3,323,929", "9,485,386", "383,071", "63,968", "11,353,142", "209,469,333", "286,641", "428,962", "754,394", "2,254,126", "4,666,377", "37,058,856", "8,516,543", "170,499", "18,729,160", "1,392,730,000", "25,069,229", "25,216,237", "84,068,091", "5,244,363", "49,648,685", "832,322", "543,767", "4,999,441", "11,338,138", "159,849", "64,174", "1,189,265", "10,625,695", "82,927,922", "958,920", "71,625", "5,797,446", "10,627,165", "42,228,429", "17,084,357", "98,423,595", "nan", "46,723,749", "1,320,884", "109,224,559", "5,518,050", "883,483", "66,987,244", "48,497", "112,640", "2,119,275", "66,488,991", "3,731,000", "29,767,108", "33,718", "12,414,318", "2,280,102", "1,874,309", "1,308,974", "10,727,668", "111,454", "56,025", "17,247,807", "165,768", "779,004", "7,451,000", "9,587,522", "4,089,400", "11,123,176", "9,768,785", "267,663,435", "84,077", "1,352,617,328", "4,853,506", "81,800,269", "38,433,600", "353,574", "8,883,800", "60,431,283", "2,934,855", "9,956,011", "126,529,100", "18,276,499", "51,393,010", "6,315,800", "16,249,798", "115,847", "52,441", "51,635,256", "4,137,309", "7,061,507", "6,848,925", "4,818,977", "6,678,567", "181,889", "37,910", "21,670,000", "2,108,132", "2,789,533", "607,728", "1,926,542", "631,636", "37,264", "36,029,138", "38,682", "3,545,883", "26,262,368", "515,696", "126,190,788", "58,413", "2,082,958", "19,077,690", "483,530", "53,708,395", "622,345", "3,170,208", "56,882", "29,495,962", "4,403,319", "1,265,303", "18,143,315", "31,528,585", "2,448,255", "284,060", "22,442,948", "195,874,740", "6,465,513", "17,231,017", "5,314,336", "28,087,871", "12,704", "4,885,500", "4,829,483", "212,215,030", "4,176,873", "31,989,256", "106,651,922", "17,907", "8,606,316", "37,978,548", "3,195,153", "25,549,819", "10,281,762", "6,956,071", "4,569,087", "277,679", "2,781,677", "19,473,936", "144,478,050", "12,301,939", "33,699,947", "41,801,533", "15,854,360", "5,638,676", "652,858", "7,650,154", "6,420,744", "33,785", "15,008,154", "6,982,084", "10,975,920", "211,028", "575,991", "5,447,011", "2,067,372", "10,183,175", "1,136,191", "40,654", "96,762", "16,906,283", "37,665", "15,477,751", "7,889,094", "69,428,524", "9,100,837", "5,850,908", "1,267,972", "103,197", "1,389,858", "11,565,204", "82,319,724", "11,508", "nan", "56,318,348", "42,723,139", "44,622,516", "3,449,299", "327,167,434", "32,955,400", "110,210", "28,870,195", "29,802", "106,977", "95,540,395", "292,680", "196,130", "1,845,300", "28,498,687", "57,779,622", "17,351,822", "14,439,018", "2,304,646,596", "918,793,590", "641,357,515", "448,912,859", "364,290,258", "1,814,388,744", "1,074,853,734", "7,594,270,356" ], "type": "sunburst", "values": [ 105845, 37172386, 30809762, 2866376, 77006, 9630959, 44494502, 2951776, 55465, 96286, 24992369, 8847037, 9942334, 11175378, 11422068, 11485048, 19751535, 161356039, 7024216, 1569439, 385640, 3323929, 9485386, 383071, 63968, 11353142, 209469333, 286641, 428962, 754394, 2254126, 4666377, 37058856, 8516543, 170499, 18729160, 1392730000, 25069229, 25216237, 84068091, 5244363, 49648685, 832322, 543767, 4999441, 11338138, 159849, 64174, 1189265, 10625695, 82927922, 958920, 71625, 5797446, 10627165, 42228429, 17084357, 98423595, null, 46723749, 1320884, 109224559, 5518050, 883483, 66987244, 48497, 112640, 2119275, 66488991, 3731000, 29767108, 33718, 12414318, 2280102, 1874309, 1308974, 10727668, 111454, 56025, 17247807, 165768, 779004, 7451000, 9587522, 4089400, 11123176, 9768785, 267663435, 84077, 1352617328, 4853506, 81800269, 38433600, 353574, 8883800, 60431283, 2934855, 9956011, 126529100, 18276499, 51393010, 6315800, 16249798, 115847, 52441, 51635256, 4137309, 7061507, 6848925, 4818977, 6678567, 181889, 37910, 21670000, 2108132, 2789533, 607728, 1926542, 631636, 37264, 36029138, 38682, 3545883, 26262368, 515696, 126190788, 58413, 2082958, 19077690, 483530, 53708395, 622345, 3170208, 56882, 29495962, 4403319, 1265303, 18143315, 31528585, 2448255, 284060, 22442948, 195874740, 6465513, 17231017, 5314336, 28087871, 12704, 4885500, 4829483, 212215030, 4176873, 31989256, 106651922, 17907, 8606316, 37978548, 3195153, 25549819, 10281762, 6956071, 4569087, 277679, 2781677, 19473936, 144478050, 12301939, 33699947, 41801533, 15854360, 5638676, 652858, 7650154, 6420744, 33785, 15008154, 6982084, 10975920, 211028, 575991, 5447011, 2067372, 10183175, 1136191, 40654, 96762, 16906283, 37665, 15477751, 7889094, 69428524, 9100837, 5850908, 1267972, 103197, 1389858, 11565204, 82319724, 11508, null, 56318348, 42723139, 44622516, 3449299, 327167434, 32955400, 110210, 28870195, 29802, 106977, 95540395, 292680, 196130, 1845300, 28498687, 57779622, 17351822, 14439018, 0, 0, 0, 0, 0, 0, 0, 0 ] } ], "layout": { "height": 800, "title": "World Population (World Bank, 2017)
Click on a region to zoom", "width": 800 } }, "text/html": [ "
\n", " \n", " \n", "
\n", " \n", "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# And now we can plot the World Population\n", "offline.iplot(dict(\n", " data=[dict(type='sunburst', hoverinfo='text', **all_levels)],\n", " layout=dict(title='World Population (World Bank, 2017)
Click on a region to zoom',\n", " width=800, height=800)),\n", " validate=False)" ] } ], "metadata": { "jupytext": { "formats": "ipynb,py:light" }, "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.3" } }, "nbformat": 4, "nbformat_minor": 2 }