Skip to content

Instantly share code, notes, and snippets.

@philippemiron
Last active September 23, 2020 03:47
Show Gist options
  • Save philippemiron/f11f1293b20fe2cbea8feeaf21e6ed9d to your computer and use it in GitHub Desktop.
Save philippemiron/f11f1293b20fe2cbea8feeaf21e6ed9d to your computer and use it in GitHub Desktop.
Transform a scalar defined by country to a regular 2d global map.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Create a global gridded interpolator from a scalar value defined per country\n",
"\n",
"1. get shapefiles of all countries\n",
"2. associate the scalar values to each country\n",
"3. loop the country shapefiles to create a 2d regular grid that we can use to interpolate"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import geopandas as gpd\n",
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"import shapely\n",
"from matplotlib import path\n",
"from scipy.interpolate import RegularGridInterpolator\n",
"from mpl_toolkits.axes_grid1 import make_axes_locatable"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### The scalar value is the share of estimated mismanaged plastic waste associated by country [(source)](https://ourworldindata.org/grapher/mismanaged-waste-global-total?year=latest)"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"raw = pd.read_csv('data/mismanaged-waste-global-total.csv', delimiter=',')\n",
"raw = raw.rename(columns={'Entity': 'Country'})\n",
"raw = raw.rename(columns={'Mismanaged waste (% global total) (% of global total)': 'mpw'})\n",
"raw.drop(columns=['Code', 'Year'], inplace=True) # drop columns we won't need"
]
},
{
"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>Country</th>\n",
" <th>mpw</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Albania</td>\n",
" <td>0.0933</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>Algeria</td>\n",
" <td>1.6347</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>Angola</td>\n",
" <td>0.1964</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>Anguilla</td>\n",
" <td>0.0002</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>Antigua and Barbuda</td>\n",
" <td>0.0039</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Country mpw\n",
"0 Albania 0.0933\n",
"1 Algeria 1.6347\n",
"2 Angola 0.1964\n",
"3 Anguilla 0.0002\n",
"4 Antigua and Barbuda 0.0039"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"raw.head()"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"# country shapefiles\n",
"# From https://hub.arcgis.com/datasets/a21fdb46d23e4ef896f31475217cbb08_1\n",
"df = gpd.read_file('data/countries-shp/99bfd9e7-bb42-4728-87b5-07f8c8ac631c2020328-1-1vef4ev.lu5nk.shp')\n",
"df = df.rename(columns={'CNTRY_NAME': 'Country'})\n",
"df.drop(columns=['OBJECTID'], inplace=True)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"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>Country</th>\n",
" <th>geometry</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Aruba</td>\n",
" <td>POLYGON ((-69.88223 12.41111, -69.94695 12.436...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>Antigua and Barbuda</td>\n",
" <td>MULTIPOLYGON (((-61.73889 17.54055, -61.75195 ...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>Afghanistan</td>\n",
" <td>POLYGON ((61.27656 35.60725, 61.29638 35.62853...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>Algeria</td>\n",
" <td>POLYGON ((-5.15213 30.18047, -5.13917 30.19236...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>Azerbaijan</td>\n",
" <td>MULTIPOLYGON (((45.02583 41.03055, 45.00999 41...</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Country geometry\n",
"0 Aruba POLYGON ((-69.88223 12.41111, -69.94695 12.436...\n",
"1 Antigua and Barbuda MULTIPOLYGON (((-61.73889 17.54055, -61.75195 ...\n",
"2 Afghanistan POLYGON ((61.27656 35.60725, 61.29638 35.62853...\n",
"3 Algeria POLYGON ((-5.15213 30.18047, -5.13917 30.19236...\n",
"4 Azerbaijan MULTIPOLYGON (((45.02583 41.03055, 45.00999 41..."
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Rename countries to match the mpw Country name"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"country_rename = {'Bahamas, The': 'Bahamas',\n",
" 'Cocos (Keeling) Islands': 'Cocos Islands',\n",
" 'Ivory Coast': 'Cote d\\'Ivoire',\n",
" 'Zaire': 'Democratic Republic of Congo',\n",
" 'Faroe Islands': 'Faeroe Islands',\n",
" 'Gambia, The': 'Gambia',\n",
" 'Federated States of Micronesia': 'Micronesia (country)',\n",
" 'Myanmar (Burma)': 'Myanmar',\n",
" 'Pacific Islands (Palau)': 'Palau',\n",
" 'St. Helena': 'Saint Helena',\n",
" 'St. Kitts and Nevis': 'Saint Kitts and Nevis',\n",
" 'St. Lucia': 'Saint Lucia',\n",
" 'St. Pierre and Miquelon': 'Saint Pierre and Miquelon',\n",
" 'St. Vincent and the Grenadines': 'Saint Vincent and the Grenadines',\n",
" 'Western Samoa': 'Samoa',\n",
" 'Tanzania, United Republic of': 'Tanzania'\n",
" }\n",
"for key in country_rename:\n",
" df = df.replace({'Country' : key}, country_rename[key])\n",
" \n",
"# merge the two pandas dataframe\n",
"df = df.merge(raw, on='Country', how = 'right', indicator=True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### At this point we have at each row of the geopandas dataframe\n",
"- country name\n",
"- shapefile polygon or multipolygon\n",
"- mpw value"
]
},
{
"cell_type": "code",
"execution_count": 7,
"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>Country</th>\n",
" <th>geometry</th>\n",
" <th>mpw</th>\n",
" <th>_merge</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Aruba</td>\n",
" <td>POLYGON ((-69.88223 12.41111, -69.94695 12.436...</td>\n",
" <td>0.0012</td>\n",
" <td>both</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>Antigua and Barbuda</td>\n",
" <td>MULTIPOLYGON (((-61.73889 17.54055, -61.75195 ...</td>\n",
" <td>0.0039</td>\n",
" <td>both</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>Algeria</td>\n",
" <td>POLYGON ((-5.15213 30.18047, -5.13917 30.19236...</td>\n",
" <td>1.6347</td>\n",
" <td>both</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>Albania</td>\n",
" <td>POLYGON ((20.79192 40.43154, 20.78722 40.39472...</td>\n",
" <td>0.0933</td>\n",
" <td>both</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>Angola</td>\n",
" <td>MULTIPOLYGON (((13.09139 -4.63306, 13.09264 -4...</td>\n",
" <td>0.1964</td>\n",
" <td>both</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Country geometry \\\n",
"0 Aruba POLYGON ((-69.88223 12.41111, -69.94695 12.436... \n",
"1 Antigua and Barbuda MULTIPOLYGON (((-61.73889 17.54055, -61.75195 ... \n",
"2 Algeria POLYGON ((-5.15213 30.18047, -5.13917 30.19236... \n",
"3 Albania POLYGON ((20.79192 40.43154, 20.78722 40.39472... \n",
"4 Angola MULTIPOLYGON (((13.09139 -4.63306, 13.09264 -4... \n",
"\n",
" mpw _merge \n",
"0 0.0012 both \n",
"1 0.0039 both \n",
"2 1.6347 both \n",
"3 0.0933 both \n",
"4 0.1964 both "
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Note\n",
"Those are either not in the world shapefile or already associated with another country or ... I'm not getting into politics!\n",
"- Channel Islands\n",
"- Curacao\n",
"- Falkland Islands\n",
"- Hong Kong\n",
"- Macao\n",
"- Palestine\n",
"- Sint Maarten (used Martinique value)\n",
"\n",
"We can see at the end of the dataframe, the `indicator=True` argument used during df.merge() also show if the country is present in `both` or in the `right_only` file(s)."
]
},
{
"cell_type": "code",
"execution_count": 8,
"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>Country</th>\n",
" <th>geometry</th>\n",
" <th>mpw</th>\n",
" <th>_merge</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>176</th>\n",
" <td>Namibia</td>\n",
" <td>POLYGON ((14.52485 -22.69207, 14.52740 -22.667...</td>\n",
" <td>0.0172</td>\n",
" <td>both</td>\n",
" </tr>\n",
" <tr>\n",
" <th>177</th>\n",
" <td>Samoa</td>\n",
" <td>MULTIPOLYGON (((-172.59650 -13.50911, -172.551...</td>\n",
" <td>0.0161</td>\n",
" <td>both</td>\n",
" </tr>\n",
" <tr>\n",
" <th>178</th>\n",
" <td>Yemen</td>\n",
" <td>MULTIPOLYGON (((48.68639 14.03750, 48.61000 14...</td>\n",
" <td>0.5310</td>\n",
" <td>both</td>\n",
" </tr>\n",
" <tr>\n",
" <th>179</th>\n",
" <td>Channel Islands</td>\n",
" <td>None</td>\n",
" <td>0.0009</td>\n",
" <td>right_only</td>\n",
" </tr>\n",
" <tr>\n",
" <th>180</th>\n",
" <td>Curacao</td>\n",
" <td>None</td>\n",
" <td>0.0008</td>\n",
" <td>right_only</td>\n",
" </tr>\n",
" <tr>\n",
" <th>181</th>\n",
" <td>Falkland Islands</td>\n",
" <td>None</td>\n",
" <td>0.0000</td>\n",
" <td>right_only</td>\n",
" </tr>\n",
" <tr>\n",
" <th>182</th>\n",
" <td>Hong Kong</td>\n",
" <td>None</td>\n",
" <td>0.0895</td>\n",
" <td>right_only</td>\n",
" </tr>\n",
" <tr>\n",
" <th>183</th>\n",
" <td>Macao</td>\n",
" <td>None</td>\n",
" <td>0.0022</td>\n",
" <td>right_only</td>\n",
" </tr>\n",
" <tr>\n",
" <th>184</th>\n",
" <td>Palestine</td>\n",
" <td>None</td>\n",
" <td>0.0176</td>\n",
" <td>right_only</td>\n",
" </tr>\n",
" <tr>\n",
" <th>185</th>\n",
" <td>Sint Maarten (Dutch part)</td>\n",
" <td>None</td>\n",
" <td>0.0002</td>\n",
" <td>right_only</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Country \\\n",
"176 Namibia \n",
"177 Samoa \n",
"178 Yemen \n",
"179 Channel Islands \n",
"180 Curacao \n",
"181 Falkland Islands \n",
"182 Hong Kong \n",
"183 Macao \n",
"184 Palestine \n",
"185 Sint Maarten (Dutch part) \n",
"\n",
" geometry mpw _merge \n",
"176 POLYGON ((14.52485 -22.69207, 14.52740 -22.667... 0.0172 both \n",
"177 MULTIPOLYGON (((-172.59650 -13.50911, -172.551... 0.0161 both \n",
"178 MULTIPOLYGON (((48.68639 14.03750, 48.61000 14... 0.5310 both \n",
"179 None 0.0009 right_only \n",
"180 None 0.0008 right_only \n",
"181 None 0.0000 right_only \n",
"182 None 0.0895 right_only \n",
"183 None 0.0022 right_only \n",
"184 None 0.0176 right_only \n",
"185 None 0.0002 right_only "
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.tail(10)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Using geopandas.plot() function\n",
"- plot directly the scalar values"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7fc8382a7e10>"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 720x720 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure(figsize=(10, 10))\n",
"ax = fig.add_subplot(1,1,1, aspect='equal')\n",
"\n",
"# this is to fix the size of the colorbar\n",
"# it should be done by default imo but it's not\n",
"divider = make_axes_locatable(ax)\n",
"cax = divider.append_axes(\"right\", size=\"5%\", pad=0.1)\n",
"\n",
"df.plot(column='mpw', ax=ax, cmap='cool', legend=True, cax=cax)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Interpolation on a 2d grid"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"dx = 0.25\n",
"lon = np.arange(-180, 180+dx, dx)\n",
"lat = np.arange(-90, 90+dx, dx)\n",
"lon_xy, lat_xy = np.meshgrid(lon, lat, indexing='ij')\n",
"coords = np.vstack((lon_xy.flatten(), lat_xy.flatten())).T"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### This part takes ~15min to run (I would recommend running this only once!)\n",
"\n",
"Those are the general step:\n",
"1. loop every country\n",
"2. extract its border polygon(s) and create a `matplotlib.path`\n",
"3. find the indices of the `coords` inside the path using `contains_points()`\n",
"4. set the gridded dataset `mpw` to the mismanaged plastic waste scalar value\n",
"5. set the gridded dataset `country` to line number which will serve as an ID for the country"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"CPU times: user 14min 26s, sys: 7.71 s, total: 14min 34s\n",
"Wall time: 14min 38s\n"
]
}
],
"source": [
"%%time\n",
"\n",
"mpw = np.full(len(lon)*len(lat), np.nan)\n",
"country = np.copy(mpw)\n",
"\n",
"for l in range(0, len(df)):\n",
" geometry = df.loc[l]['geometry']\n",
" value = df.loc[l]['mpw']\n",
"\n",
" if type(geometry) == shapely.geometry.polygon.Polygon:\n",
" x,y = geometry.exterior.coords.xy\n",
" p = path.Path(np.vstack((x,y)).T)\n",
" ind = p.contains_points(coords)\n",
" \n",
" # some country have many Polygon to represent their borders\n",
" # in this case we loop all of them\n",
" elif type(geometry) == shapely.geometry.multipolygon.MultiPolygon:\n",
" ind = np.zeros(len(coords))\n",
" # multiple shapes for this country\n",
" for polygon in geometry:\n",
" x,y = polygon.exterior.coords.xy\n",
" p = path.Path(np.vstack((x,y)).T)\n",
" ind = np.logical_or(p.contains_points(coords), ind)\n",
" \n",
" # set indices to country value\n",
" mpw[ind] = value\n",
" country[ind] = l\n",
"\n",
"mpw = mpw.reshape(len(lon), len(lat))\n",
"country = country.reshape(len(lon), len(lat))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Our gridded dataset which should compare to the previous plot"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.colorbar.Colorbar at 0x7fc800a7c1d0>"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 720x720 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure(figsize=(10, 10))\n",
"ax = fig.add_subplot(1,1,1, aspect='equal')\n",
"\n",
"divider = make_axes_locatable(ax)\n",
"cax = divider.append_axes(\"right\", size=\"5%\", pad=0.1)\n",
"pcm = ax.pcolormesh(lon, lat, mpw.T, cmap='cool')\n",
"fig.colorbar(pcm, cax=cax)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Now that we have a gridded data we can create a RegularGridInterpolator()"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [],
"source": [
"fct = RegularGridInterpolator((lon, lat), mpw)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([0.025])"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Canada\n",
"fct(np.array([-92.701728, 52.360297]))"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([0.8649])"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# USA\n",
"fct(np.array([-100, 35]))"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([27.6966])"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# China\n",
"fct(np.array([103.628461, 34.448801]))"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([1.9784])"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# South Africa\n",
"fct(np.array([23.659035, -30.482115]))"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [],
"source": [
"# I needed to save\n",
"#import scipy.io as sio\n",
"#sio.savemat(\"data/mismanaged-plastic-waste.mat\", {'lon': lon, 'lat': lat, 'mpw': mpw, 'cid': country})\n",
"#df.to_csv('data/mpw.csv', index=False, columns = ['Country', 'mpw'])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Country ID where the associated value correspond to the line in the DataFrame `df`"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.colorbar.Colorbar at 0x7fc7f07a48d0>"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 720x720 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure(figsize=(10, 10))\n",
"ax = fig.add_subplot(1,1,1, aspect='equal')\n",
"\n",
"divider = make_axes_locatable(ax)\n",
"cax = divider.append_axes(\"right\", size=\"5%\", pad=0.1)\n",
"pcm = ax.pcolormesh(lon, lat, country.T, cmap='jet')\n",
"fig.colorbar(pcm, cax=cax)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### We could create a `RegularGridInterpolator` the same way we just did for the `mpw` variable. I used this to extract the countries, and the area of each of them, in a region delimited by [lon0, lon1] x [lat0, lat1].\n",
"\n",
"Note: if you need the information about very small country, you might have to increase the resolution of the gridded data (set at 1/4° now)."
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [],
"source": [
"cfct = RegularGridInterpolator((lon, lat), country, method='nearest')"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [],
"source": [
"# Box definition\n",
"lon0, lon1 = -90, -40\n",
"lat0, lat1 = 20, 50"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [],
"source": [
"clon = np.arange(lon0, lon1, dx)\n",
"clat = np.arange(lat0, lat1, dx)\n",
"clon_xy, clat_xy = np.meshgrid(clon, clat, indexing='ij')\n",
"ccoords = np.vstack((clon_xy.flatten(), clat_xy.flatten())).T"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Evaluate the country associated with each points inside the box and then we retrieve the unique values and their count"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [],
"source": [
"country_in_box = cfct(ccoords)\n",
"cid, ccounts = np.unique(country_in_box[np.isfinite(country_in_box)], return_counts=True)"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The box is:\n",
" 0.07% in Bahamas.\n",
" 8.63% in Canada.\n",
" 0.66% in Cuba.\n",
" 0.00% in Haiti.\n",
" 0.32% in Mexico.\n",
" 15.85% in United States.\n",
" 74.47% in the Ocean.\n"
]
},
{
"data": {
"text/plain": [
"<matplotlib.patches.Rectangle at 0x7fc848b5d690>"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAlQAAAE2CAYAAACnTAzlAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3de9gkZX3n//eXg8pgRA4jMsiARkQIGJWH5ZSVGRUWiMLP0SyrshqEjCggiGtiRERlZYlZFQ9IJBiRxYgL4kUExEMc0AgMDoJKRg5ukMMM4qAIGogCfn9/dFc/1fVUVdf50P15XVdfT3d1ddX91NPT/Znvfddd5u6IiIiISHEbtd0AERERkb5ToBIREREpSYFKREREpCQFKhEREZGSFKhERERESlKgEhERESlpkzZ3vs022/hOO+3UZhNEREREMrnxxhsfcPfFcc+1Gqh22mkn1qxZ02YTRERERDIxs7uSnlOXn4iIiEhJClQiIiIiJSlQiYiIiJSkQCUiIiJSkgKViIiISEkKVCIiIiIlKVCJiIiIlNTqPFQiUh1b/9vRfV/y5AXLqhbsQ0REFKhkypk1v0/3+vcxKSjVGaTS9qGQJSKzSoFKeqWNgJRXuI1BuGoi4HSBrf8tvuTJC35fBS0RmXaFApWZGfApYDnwOHACcBdwCbANcIm7n1xVI2V29CEwZeE+CBe2vu2WNC8uPGYNlApeHfeZlH+gR/vg+aMbKNE2Kfw7T9vvJpUqWqF6OfBMd3++mf0RcBHwE+A04HLgcjNb7u6rKmqnzIC0MOXe8bC1bjwwzGKQKkNBqgVp4QjGw8OkdcPrTApdfZD0OyhcSYqiger3wGZmtimwJfAbYE9ghbu7mV0MHAQoUMlIbFdYxpDUpTAVVJ+kOAWoluUJSFXpegDJ+/sG63f995LGFA1Uq4AzgJ8DTwPeBJzsPhqOux44IO6FZrYSWAmwdOnSgrsXaVZ0oHk4EChcZacg1RFJIaBIBabpqk3Xgsw0dnNKIUUD1UoGXXz7A88HbgBuCz3vwBNxL3T3c4FzAebm5vQu7BGz5DPYslaQopWpvJWqJkR/x1kdC1WVYJC6wlQPFAkG0xIm4n6PrFWrPN2nMrWKBqo/ZjDw/HHgFjP7VwZdfoElwN1lGyftigs5SaEq6xin6Ou7FKRA3XlVaWIeLJlRTYaTSfvK002oStbUKzpT+o+AgwHMbHsG3X5XmNlyM9sYOBK4opomSt3M5oNNcD9v0IlWnLKsm6aJuZyi+2t6n9NsUNWLDtRXuJIGfMaqH/9VVtfaI7UoWqH6e+AcM7sN+C1wHINpEy4CtgbOd/cbq2miVGVSkMk7QDwugCRVsOJek7a/8HbqqGKlhSdVV6oVHEd1+UlisGircpNlPFZ0jFi40lT0TMi4181K9WqKf99CgcrdHwOOiXlqz5hl0qKyYSRrAAqHn0lBKau2uwM18Lw6ClMzpO1qTJ4v6izrBiEKxn+3Mr9n3Gujy6YwcEw7zZQuqfKGoyrmi8qzjbz7K9qtFzf7d9J6oAAmM6CK4FRHaMgzVqno79BEaOzCmKtwNanI7xx+XVxVb8ooUE25SQGiyipQONykdftNEnT3ZR3k3pQ8VZakdWc1aKnbb4rk+WLt4pdn2xW0rLp07Ko4ZnHb6NLvWAEFqik0KWTETV1QVddg3gpQ52dAr1jWSpdI52T9Um37SzK6/74EqLC2j2Eg7xixuNcVrW71kALVDIoGmLgZzPNuK20bWQafp7UpLC2AZQlnZX7XqsxaqFJVqueyfBlWEQAmDVaeNIHoNH1plznmVc+JFXQ9Zg2qcdvvSkCsWdFpE2RKRadQiD4Xt16WbZWV5Yy/IlM9tFUdm4WQ4UuePBO/51TL8uVc9ZdldJ9p0yB0cYqEpsT97lnPNKyi27ZooJtiqlBNkSrDQZZQFadI1aeObRbZv+ahqoZC1JRo4iLHky5CHN1P8LhIkJhWZQbWF/07TtrnjM4crwqVVCrapVb4rDoff30TlaSmK1YKHtJZTYSpIu2Y5YpU3Zo8tlP6N2y3QvXAjZ2Ze+OOmG/SnXtWssgSPtoYBF7kUjPRCUKbbHfSdBAiZTzIIrbkkbH7D7Jo9HzwXOdVMTHjlH6h9k5Qpapqfq28+w7LMgC+zcpWhuPSrS6/hg5WXHgqsl7bgSupq2pSs+qu+qTNil5kwHoX1DWYve/zVs3aAPuiguAUDlDh+9HHrYerLF9uTcyTNENniLWmK8c3z0zz0MluQ/MWv7Hm5uZ8zZo1te8na4CqW5kAlvX6d2lTIZSZG6oqRcJcVy+mXNU/nWkLJLPalRkNSGVs+ZlHxxd08MtjpEg1oStf4tJfSWd6VnkGaMy2zOxGd5+LW71bFaoadCVMQf1dcdGz8PLsvylF2jCpC66t36tLFbQumKUgFYSnaLddHlv9w3gV6pdvStlOnV0gWYZdpHXzJVWRFJqkTpNOaKhzHwm6NYaqgg+HLgWoPHra7EzqGP+UJ8zETWQaflxEHd1+0L9q1SyFKEjvpgtsefij2OGDN0hSSIqGKYipSmWRdTxT1rGqSWfRJW1HREa6VaHqyAB16ccM5lm7QYu+Nu++y4asPoSpWQtQgUlVqC0Pf5QHL9ts9NgvG7xBjGxvCveSb8i8n53hrpGki/+KSC7dClRRBQY9hscp9bVa1QV1zGnVhnAlq+7B+l2Yhb2sWQ1Mk4TPzhtbfvijsfcDo2B1ePobwmzwfOlgFUj77Cx6OZE2aFC69Ei3AxUUHjugMCVZ1TEeq4+ThTYRpub4LgBr2L/2fVUpqWsvK7/MJoaqyiV1B/YpoPSprTLzuh+oksT8D0whSsLSwkwTZzzOSpgKQlKR1/QtWAXyhKnWKZSINKK/gSpCYUoCWYJMFW+XSRdqzr29huZ0qrISVSRMxb2+y8EqrZsvs8scB+wf0lcz88ndfrqGmkgndSNQ5SlJJ3yYBGOnFKxk0limqrv1orpWmaqzK28N+5cOVV1Vtptv5LLsb4hMY6gUnEQ6qd1r+W2zZ/K8JgWvYr6z+yhche8Hj2V6ZK1ENZWxy1y7cLSNHg4KX8P+pSpMXatOPciiSifphEFlalJ1CuYHp2eis6BFmpMhk3SjQpUm4zipaFgKV6x2ducOM1WvpkjeaR2S5q3qwuzxUVV2/XU1oHUtREH61AhlKlNZglQhqlSJNKd31/LLIGvXXvh5BanpkHTNwryX25n0XNnL41ShilDVdJjqYkjKomtBKtM4KhHpnN4FqkBa950C1PTIElQmrZM0pmrSpYDyVMHquAxNmVDV1cpUGfZPg59+WPltZe3Se/CyzbKHqhxjpSZRqBLpn8KBysxWAn8NPAacBNwKXAJsA1zi7idX0kKZSUXDSWUXLM4wj1QTub2pM/+kpArDlIKUSMvSxkodk/zvs1CgMrNnAycAewDPAL4G3AKcBlwOXG5my919VZHti1SpzMSdaWcMNnWOQ1BtyhqsprE6BdVUporIVaUqQUFKJEETk9NWcJJH0QrVYcD57v4b4Ddm9t+ALwMr3N3N7GLgIKCyQBUMLp+0jvRfl0/GjKtcNX3JmbwBa5bcb8a2Ff8RMoWpw7NdYiaJwpRIgrrPZq1w+0UD1XOB35vZauDJwP8CHnQffZKtBw6Ie+Gwq3AlwNKlSzPvMO+UB1XPSxWcKZhln+H9httxO/Ovf17Gi6bOmroDSdmLPrcZ9qKVp7hgNa3Vqb7wyyy2+y8YoO5vAvubyGv+CvhM/W0T6ZW0oJPlGo/BOnHbKXCd4CyKBqrNgCUMQtMOwA+AH4eed+CJuBe6+7nAuQBzc3OV/kZxoauKiyVP2m6W10Qf3z5sSzhYBYFrlsNWly8wHK1Oxb2d2riG36yHqPuHB31b93aqU4GEcVThABUNU4CmP5DZU+ai11leF4SlLBcIr1DRQPUgcKO7/wdwh5n9K/Di0PNLgLvLNq5q4SpTlopTILxeVZODBtu5PaYNClbdpp7ldtyfcuArD1I8MurGyyRDmIrj2+jNJFMib0gpEmomXUWlpspTVkUD1beAY83sXGBb4A+AK81sOfBt4EjgXdU0sVpxM6e3OfaqC23oqiqnIghXjsp2+2XdX9cqbNMsXKXKYkseAWKu08cj2BsG9/0yzxaqwuslBCv/q8HPSQFLpHfqDjBZK1kthykA84Kf+mb2fuAI4FEG0yasBy4CtmYwYP19k7YxNzfna9asKbT/KqTNuh73XN2Xronbp6pU8fL+KSYNJq+LQlU10qpTYWUqVUGQCvOHcr5JQoHqf/I/Mr3kPZ/5cL59iHRFV8JUoIFAZWY3uvtc3HOF56Fy99MYTJMQtmfR7TUpy+Vrot2DTYirVqn7L17RCpAqR/0UDkpJ4arqbj9gvPqUtk5E1jAl0ju6hmSidi+O3KDgWn5ZrwUYLOvKBZVvZ/wsQZm/8HGRSlNTPazqya1WWqUqaxUrj7iqVVab8ETsLep/Hv2OEi0UmVI9PFmjt5eeySpPgOoKjavKL+5Qhf/ETXf1hXX5zMU+sPfO3//ZhHXrmIfKtvCxrj/bwvEL0l/zHv43Z/L22OeioepdfBSO/t/jK/Xwy0SkNUlTIyQ9V5OpDFR9DFFx4sZy3Y6p+y+jaPdeF/JpG9Mq9FE4RAV+dnq2P2AVoepJZz3M70562nx7tnCedNbD/Harp83/67s1oT3fHfwIzso58+iTEvfzLj5aqp1TIfyFpyDZfeG/UfRv16XuwDJTMxRUeFB6FaoalD4tASpOtLrRhVDQJ10LVFFT8BatRTRQRcNUlWOqnvzLh3O17bc/3yLX+gBnPn9hqJoYpqYpXGT9op2m33lWBH/bOipCk6ZJaEEtg9K7oo2z8aQ/mp4uIS8Nks/mmaeOHyRn8pippErVz3h6ZEn2KfOKhCmAd9161uDO82foj13kCy/umm1p3TmygL3L8TMbPD5T8LfIcmm7LHofqALTGqLCISD48u1aKBDpqrzzU0nHpM10PQVf5FWwd8Vc6ii0rNFw1YSaKlNVnNXfqUBVZEbyaQ1SYdEQlXbpE0mm4zUd/APFz+hbWJ3K58nPeKhwlQpgXUy7t498hgXrbH8erDsmtN55hXfbrKa6YhSqMmm8YlWnmt5baTkiT/WqU4FKks1AbqyVwlS/+AfGx1H5B4pv65lfc7Dvcp//6djyHX/ZjatjxYUsGA9TvdLk2VVthqro2CEZ6Nrg9JLyFG06Fahmodoks01dttmVCVGBbd3h64P729kVY8896Rflt5/Hul1Lvn4YsGqtVCV9EUZDw6Qg0+QXatuVqpbOUozr6ktbt7YqVRPHvycBrVOBSiTZScDNbTeilAMOiA9Ty5bVu98XvvCFnHXWWfXupEVJ46Ps64zCFF/bf/Dzv3x39Pzvtv4RT/rFHpn389uthtMobDXcX9K0CX2V9qUV91yXvuSyBsG82ypy6RNVrMpLmpqh4xSoemy2xlLdDFzTdiNKuSah+UnLJVlciLKvx6wYFROssnryLx+eD1Ww8Iy9hIBVtjK1YHsJXYGFKlc9+rIqJGu3XNrg96hJXVqTjmmWwBXZhi0eH1yepzoVfk1jY6mq6Pbr4XtTgWoKpAWrtIlAJ00SGn2+G5OKbgG8sOU2JDvggOTnsgantG3kcfPNN/PQQw9Vs7GOyRSe0gyD1e9C0+A9aW7yfFQLQlVYzJQISeOjpGHDL2dbPL7YNxTfVtm25FUkRKVto5ZwVUUI6vEYLAWqKRINVsG1/9KuATjp+oDR55u6nmBycHshcHUjbSji6qvjl+f5Xk3aRl7Lli3jGpW/MskSpoDkMNUB644pUKVq4fIcbYmGqeiyQuGqAXHtrmS7VVSs6njf9Pi9qEA1habhIsrR3+FI4AbgP3ENFw6fa79aNi46K7vOsaiPHzR/v3S1KqMiYWr7izOu+BovVc3qzZQKkptvGHb5RX5WIRqqclWwinSHTjkFqikUdw3AaXR7g8EqS3dn9Dp90Vnak9aXcoJwVSZYRcPSoVy6cKWTXr1g0R5n3cCP2Ct+o5fk+ANfYmzv5UJVKVP2RVgkcARhpYvC7aq6YhXXlVgoTAWm7L2UhwKV9F64mlVHuIp2nWYJVnEz3EepgtUdsQFqgj3OumHwk+8tDFV5wtRQnjA1NhmoziqbenV1+xVS1TipqrbVIQpUMlW6MXBe1ac2+EHFqlSHHJQtTB161pe4clilCsJUYA++N7qfWLFKse7P5u8nzZweXVZpN9+UfLF1KniU1NbvklqdSnifHHH0+QB8kTcmvzZuLrMpo0AlU6eqUJU0Fi3P9lWFmg5XsoI9+N6CIJXoNZ67SpV5vFWVpuRLrbIxRTHbaaobsAthsEiYCjuCz8WHqp7OK5WXApXMtKID+JOmqlCAmk6Hcik/GoaqwC2WcF3A4D3wmuGdDMFqFKZes/ANFB5bFa1eAeryo9qB2lHBdrs6vqqsTGf65QhBR/C50f0vfubPC22jrxSoptAsDEifJEsVqUiYSrs8ksJUDd6Q8290ZP4/wle/vmLU7XclK4D4MVWHcik7MF+t2t1/lRyqMrA/+x0AfvGTBgtiwlQgNkgFylxTboYHEOdV56D1LlSnEqW8P8LhSRSoZErFhaky00kkBSmFqBrlDVMZxJ0ROFi2Itd2RuOkHMzuAOAaPxKAbwMvYfVo3SA4JRkFq7LvpWDyyu8Pm3bT7PzHqqlAUke1aprD1BFHn58+rmrKbNR2A0REYl2QP2H4hYZfaKP7iesdNH8L2Nfnb2mi1avd/VcL1jH7RPZGZ7Gtjf9M4S8etuFFPrqlUpdhbrZ48i3r+m1ZueFj49194fB0tJeqXH6RN45us6RUhcrMNgKuBd4H3A5cAmwDXOLuJ5dunRQyK/NQJYleLqcKd5ildvdJtySGqoOy/Q3Tuv7Cy69kxaBa5QCrywWpbQ3u9/HH0efjlt+/8HfyQwz76vzyaKialupVl6s7XW3byg0fG91/89Fn8WlOnH+yYIgKglPioPQZUbbL70Rg5+H9DwOnAZcDl5vZcndfVXL7IrlVFaKCADXL4bR1FzjcGDr+H0tedeJ2JhifPmEQqK4MdQUmjauKrhfY5vfrANj6ifj9PbDdsxYuzFCByvoaP2SwPBysAvYinw9VPRtD1dWg0mXhEBU2FqYqMMthCkp0+ZnZs4EDGQSojYE9gcvd3YGLgYNSXi41UgAoL1yN2tld1am2lA1TF/h4mCoxLisuNAXyTgz6wEbbF25HXn6Izd9ezOhWtlunKV3pIuuytDFdSWGqShqcPlCmQvUJ4O3AXzPo5ntwGKYA1gMHxL3IzFYCKwGWLl1aYveSZNa7/MpQcGI+xOzZ82NRUZAKi+sKvJIVo8dbP7GCX2x8KVs/ER++mgxScZZzFas4eHQ/ECyT/kmaMqKpqpTMK1ShMrM3Aavd/bbhIgceD63iQGyh293Pdfc5d59bvFj/3RDplRsbDOpV7OsNNh6mCgx0jxPtCgweP7DR9olhKizoDmzS8vu/OvjJVWNhqstUkUoXV5nyDYNbUnB6c+F+83mqSMUrWqFaBuxjZq8HtgNeFnl+CXB3iXZJSapS5afq1FBcZepG62fFKkeASuvSi4pWqMIe2Gj7VgJTGeHKVZZ1A3VXtuqcsLPPokGqyUlHFaaSFQpU7v6G4L6ZnQ9cBBxrZssZTMNyJPCuKhooxSlUSWWCMBX8bKJbcE8vXqWqqBIF6eOj8oQwGFSm2u72SzIpVMVVtZoIVwpVCxW5RM4iHh3dfztn8tGcX9FpQWrWB6MHqpzY850MgtXWwPnufmOF2xapjSpTBXS5WhUTpsw+NPFlvuSvFi5c52NjpMLSwlQQmsKVqqByNVp2vxc7q69GQUCKG2eV97Wl3Bk9Lh1+v3VE3KSjQbff2zlzwfp5QpWqUtmUDlTu/uehh3uW3Z5US1Uq6bVwcLuA9MHlkSCVJURllTRmapK47r+xCtX9PqhaRadQyBO2XgTcFLo/9KqrvjC22tP5Fb8i26VyyoyxytN9GGtBmAK/wbD/pFCVpopuvyA4hStOk8KUqlPzdOkZmXmatLNHLvD5UFWwElVW3m6+QFp33zb33Tt4Lhyi4kJVMInntjYWnsbuszBMTQOFqmRVj6FSRaoYBaoZoCpVOoWpfrnogv9veO9VY8tfa/s235gMwt1/cdWqaMUqzF4SmeE8uBMJUFnlqVJ1kd8wnKxUwQqoNkgpRJWnQDUjFKpkGlwUCVG1295gXTVf3tFxVUUHp7+XU/hAJS3qoJjuvjj7bljFdYuX19yY7it6seb1bDe6XzRIqatvIQWqGaJQNU9VqX7JEqS+4NcVrlLFDkiHysJUWJ4g5RfHL3/vVe/mAwefEftc2919hcZPpQSp/Z79rdjl+24YXNlMwSq7YBB6EKLyhCkFqMkKX3pG+im4jMqsXk5lVn/vPmu8KhXyMd7c2r7jvJdTAGLD1Kuu+kLrYappClPFZAlH4XUUprJRhUpEmpFz7qomg5St/5vEKlVSqDqRT1eyfh7Xsh/fPPgVY8uOuuqcXOOi+j6OKkxdfwO2OL3bLzw9Qp6z9hSk8lGgmnE7u/Nd5hYsf4ZN1zRiqkp1QJfnrmJhqPrYupWVbj8ctMqEq6OuOmfBsrwhqTOhKsOYqWvvfCkQ3/WnMDVvUqgKBCEpGqwUnspToJJYP/fBlGJJwSp4Pm2drlCYmm51nN2XJUyVCUj27oXL/Iz45YGXnXFF7PLPnv2WscevOi5bt19doWriBJ8ZB56HJY2jkuK+yBt1Zl/FFKiE/VkzVqXanzUAfJe5seCU5Oe+Z+dDlUynqsNUWtdfmjxjrU56d3z4SgtTSaJhCuDLZ78WyB6s+kxdfuUEoUrVqWpoULosENcFOEmW4CVSldfavp2dd6ou//zuP2UH7hlbdtRxC7v/AkGwSvN0flW6XXGarE7tu2HV6Iy/WZf3moeqUFVLFaoZ9l3mRtWoaJWqaKgKV6omdRsWFdeFF8x2HjcthGZC77g32IJZz5MGpDcRoqoeO1WXuOpUVFq1ajfWju5/cDizVZlLzgCsuvOQUq+PytPVt++GVVzLoFo1qxdTzjsflSpT1VKgkpFoqCoirlKVp0swKfhstmwZXHMNmx1wQOrrgp+ab6tjwpeLCQeoyLX54oLUrFWi0mQJUXHiqlWnHHfqgmWrOLjcdfye/dXBdioIVmXGTQXBomywCle+1LUokyhQzbCgOhWIC1NVhKwsVEGaAeHr8EWqUm3ONTWrPnj26aFHp8Nx3fk3WDRM7cd8ALqW5aWC1TR3I8ZdBFnKU6CSkbjwFO4WLBOskqpUTQUpdft1RPSCxqPHClSZHOdwdk3V17MNjvPR+KeylaoiVaoqz+YLhyvfsLC6tB+DAe3hbjJbnBykRjOz286wzbMqa2cVilzTT2GqegpUMmZSqCqjC2cDmq3Gfe9W2zCTokEq4r/x5cTnXsuHqm5NvzUQqqB8918edU+LEA5XwGis1b4bVrFfaPm+KcHkOtuZff2OwYMH7u1cqMpClal6KVDJAkkVqaa6/6ow6bqFClbdcymHArCCK8cef2mYxV5ty9po1uz5+vDfzUE+drbecq5iFQdzFcs5mFWVhq1r73xpo3NNRQNWmuts59j7XVGkOiX10LQJkihclaoqSP3c9xy71Smuiy8IUQpT3XUph47CVNiX/Gq+5Fc336AOGc1V1cJ4p1UcDC/PVhmr+my/OlxnW3CdbdF2Myrx6FONR586+W/zRd6o6lSNFKgks6Drr4ruv6ZEz/6DQXXKbPXovvRL3aHqJPvDWrdfmaZD1TBMHfzyq7mK5azi4AW3WM/28VuC4BIzTdnXHwIoFqo60t3nG4gNUkfwOc0x1QIFKkmVdCZgH0NVnKBSFQ5Z0m0ruBL3v8T9L2vbR5dDVZEZ1XO5Y3h7uY3fhq765rLBTxYO9B4Fq7QAlRKqmhQOUkG1KhquYrv4OhCmfIO6+rpIY6hkoqSxU30aU5VGQap9cV18Wbj/JWb1DFo/yf6Qs/z/1bLtytQ1QD3hHIEgTI0eD0PVwTnGJIV17Rp9QdUKJoyXanFQejhIJXXzqVuvHapQSSZJFamuVarswPQbDKpS4TFU0cfSL3VWq06yP+REPp374sd1G6tS1dH1l3MWi7hqVaoJ3X9tydT998C99TckQVpVarPfdO94zpqZDVR3mGk27ZySxk91JVQFgWnSOuFwJf2TVM2qOlRFg1o4VAUhq82gVXvX36tCNxZWp6Jyhyrmpy9oQ7gaFZXpbL4JweobD9iCW1Hq4uuHQl1+ZrYR8BngZcCDwFuB+4BLgG2AS9z95KoaWTdN+tgfD3HjWDdjWpjzbwx+JoWnUcVquJ6qVPUr2rWXVVVdgEnhLC5AhZd9jDdP3vZtgy9W28VHj5Puh9eL9WobzCtR59xUAK+Cg8++mquOW5a4StFuv65wfzFm3883SD2m6y8pOB24TfbvmKzhabPfOI8+1VSd6oiiY6heBWwF7AjsClwE/D/gNOBy4HIzW+7unf0XFg5Q4fsKV8XUPZ7qISZPCBoEo7TlceHKDgyFr+F4KoWr6tUdpgJBGCoSrMpWuYJwlSdYpd2PezxtrmV5rnmhqtonAJGP+kGoytmlF1SqJoypCoLWy8NnHA8viVOm+qQw1R1FA9Uzgc+5uwNrzWwxsCWwwt3dzC4GDoJ+/pcl6ApUsMquaJjKOwv7T25+lOOX3TZ6vAXLcu3vAOCaHyxcblsOnz8AbuDfWbZs81zb7aKbb7657SaMWcGVjYUqyFetqrq7ME+w6os6q1PhUBWEnaZDVlnzoWjwvfHNHENKbLG69KZBoUDl7mcH983sL4BfAb8bBiyA9Qy+uxYws5XASoClS5cW2b1MmTyh6jcPPcHN1/wmtOSaSttyzTV1bFUCbYQqSK9W1Tn9QjRYnfjqc2vb12hwep1dfzGq6uprajzVpP24DypNWSpVvs8O8w/2Ba5L/094XHVKpkfhaRPMbHPgLAZvozcC54SeduCJuNe5+7nAuQBzc3MqAfXEpNBTV5dfsM2dX7go9vktqH629Rv4dwAe/Ul8leqA51a+y1q98IUvbLsJrUuqVtUZpsJO5MWkBnYAACAASURBVNOD8U49lFaZ6pMqA9tYkMpIYWr6FR2Uvgj4DoP/yM8BjwFbh1ZZAtxdunUtUDdfcUnXAMwiPGFo3OtPPGvhB1jRswtfzz+M7n+eN43u78IPAQj2dPvbXhD7+qs/Dpwf+nL88/As7F8EwP2IQm2T+jQVnhoXDEwPlByg/v7jBz/39mWp6/VpEHrjZxPua7x8H+A6H3X9fdNsLFSFleruuzDytz5S32FtKTptwrHAv7j72939P9z9CeBmM1tuZhsDRwJXVNZKaV2e8FJmGoUsYexP7P9UNlVDOFyl8Y9XsjuRekSrXznnpnr/8fO3aVM0TAVdfwuWp1Wn9rXBLfw4bhsbxm8yHYp2+e0JvMTMDgoteyWDs/22Bs5398mnZcnUqvLCyiu4dHT/5/bvpbYF41WpsNuIVKQiIWosVP15wv80h5Upsw/ifkrRJvaCHQb+T223Qmz/4XvxIxA3Wc37j4fTPpn8+qQQtdquXlCl6lNVCuqpTNn19+Tq8nv5PvDN6wf306pU0n/mLf5x5+bmfM2abkwKKfUrE6yCUBUEKvddK2lTXRY9/CAAjzxty5Zb0i1VDkhfwZWVbasRFY+hGgWpkAWB6myLDUynfTJbNSoIVG0FqTJn+lURptIGpucaRxXq+gtUFqzU5dcoM7vR3WO/zHQtP2lMlVWr3bgp8bm1vKjUtqVeK0756tjjSz94SEstaUiDg9EtUqUq24XXt4oU1Dteyv1Z+eepgsGYKl8YqkpTmOoUBSppxaQxUN9lbqyrL/AM35yt+UXqa3fjptZD1SxVpuywwc+J3X+nGCtiFq845asTQ1W4GtXktAvTKkvQOq0DXVN5Jv2sI0gljaOqgrr/po8ClfTKpDDVJX/HUQAcy2dbbkn3hUPVpK683nX11SCuu2/03EcGP4te/KsLQarL3J+VONg8jRkkXMyhOheaqlQt0hgq6bRtQ7Nv/PxTS9n1rfFdff/6yxePPbatOvCh8rrhh+4/dqAtXXFKhi+iD9Z7vNaxzdjj7Xkg12uyrD9Sc3ef7e8LglMQqADe947s++9qkGqjQrUfq1K3Z3Zv6hgquz7+WH6DhX+PUlWqaJdflMJV5dLGUClQSW/Yp+bvB8EqGqSgI2EK+L4ZL+7ol1Rb7NsLl/nXIl8KNQaqaJiK2p4HJq7zrN0ewNdm3GGdgepLk6tUkB6quhqiopoOVZMCFSSHqqQwFYiGqtLdfkmhSmGqFhqULlPB3xq6HxOkqmR7hR6sef9gn35arm0oTC20IDyl2IGfAHAP5aemN7sfgHsn/EmyhKk+8JPHQ1VY3hD1/uFA6r6Ery6Lq1CVEjcoPVgW/FSwaowClfSSbeX4L+v53/9YmAKu533De9kDlf2b48/p56VGavWyhYt2eOkdkSU/aaQpRdy7dpt8oepLXk+VKqU6NXLL4Mf7jnI82/y1cFSorZ8d7KMvQarx2dDDwtfwy/HnrmxQehCkJnUBSq0UqKS3qgxV0RAFcP2a8W2vHv5Pfe+YD8HocwpTCV7q8K18x2YHfjKxSmU/HH/srzHsjp/lbV0/ZAlTUUfZKCCNLeuJPGf7NaHI1Am1VacmVaA0UL0xClTSa7aVYy8d3P/9JYMPGHsp+LdybCNakVqT/sG3OjKXTDhgjQWrZcP1rtaH2ZiXDo7HDgUqUYdxMQD/xJ9V2qSs+tLlF3CPvJd7FKKimgpVufdx3fi/b/fBGX2TVFKdUlDqFAUqmRobvSZ0keKcoaqMaMAKlu19AApTFQmCVNJjGghY4TBlu5F9YHqV3X45qlP+DzCcuWOgx2EqC9sU/LHy28nadZh2lp87qZN41jYQXVpV9OLIIp2RGJxusfmf0dtQXFdfVVZfEx+2ZOAenjvqyrvnhJ1Ht6gXpcyKn8QucXznZ44tu9f/qFhDY2QOU22LdvPV/bqWXLdpteOnJlWpxib8TJiT6uXuC4JT3LJcwuOkotWptGqVAlgjFKhkKvi3xoOVfzwUpuLcYrWGqTCFqnTREBV9fFOJWe+DUFU2TPWtq29M3nDU4TAVrR5dy/KxZbZpPftZIOfEnqWDVFRSeFIXYKsUqGR27O6DWwt24lZ24tZW9t15n0j/mxSpUFUpLkzZbjk3UmQgeZU+6/O3KVdVqMolJWBVfhHkpNCks/xapzFUMlXmq1SeXJ0C7KjkD7l95nziwPSsjvAfjz3eiVv5Kc+vZNvT7G18nI/ztrabUa0gVDV4seRYQaiKG1PVg8DV6vQIgWAgeoFL0BR2pPM99qChwroUoAqVTK9wRSpUmUoLU01QpSpGqEr1t584ARiEqrfx8bZaBCR39ZUaQ1WmWlVVGJvyAepV2I9V+c7429dqDVjfY49sK6rbrzWqUMn0i3Tz+fcmD0bfZ278NUUqVtHqlEwwClX5KlNf+WG1Z/gFIeretemzppdS14SfWSSFqR5Up5qUqRJ23bBqtO8to0WDKtKPKm1LOEwt2H64m09jq1qla/nJTCozID1ruEoKVLc9smvia55yoeMrCzVr6vxtJFh9h/8cu15SoPIXJG876RIzWQefl6lQ2dOG23iYcqGq6ASfSRSoYu3NwgtQruYlY4/jqkdVhaq0ytReFw6DXNq4qrTnJbe0a/mpy0+kJl+0XbnLdsy07lMudJ5y4eBDz84d3CSbV74gOidVepiqiz1t/JZlee2OsvFbEoWpRNHwBPEhq2pm2SYITXWkw5HO3ny7kTbPOnX5idRkHx5ZsCytOhVl9ijum1XZpF55Z2j81MQZ0nMGqO15YKxKtT3VT4uQJTDZN+aDjB+Y/u15zJc+GVlyNgDncdz8OsNlAOcddfzkBoDCVEF78+3YsJXldRAf1AKDqlR6hWsvfgRH5t691EiBSqQC+/AI17NodD/sLtuRHf2ufBt886NVNW0q1HGpmWiIsjOyvzaYKd0WhRaW/DQNwtWkYBUVDlFSj9W8JLbCUzRUpQm6+G7wwc/jY/6+efapylRzFKhk5pSd0DNuWoXrWRRbkQLGwtQui348uUqlMNUaX5t9jqmxMFWhUbB6OPpM9uCk6lS1wlWlaEAZhKofLRjrFB48Hg5eSWEo81l8OVUd+CSZxlANvY2/bbsJ0oAqZkevao6qLMwUrpri7267BenCXXup6ylMNW5SFWhSqEkKU3HVqbJUsapPpRUqMzPgU8ChwH3Aa9z93ir3IdK2cPdeFtEuv6BK9ZTNwxWt5OA062OpGhcel7Js+PPlkXV2ijzuU61fQSq3aCCKq1QF4eeToeCbNoXC3nx7bN08whWvpDFZ0eUKUvWr+mPgMGAxg4+b/wp8EHhjxfuoxcd5Z9tNkBrZySU3sCa9UpTU3ReInu33lAnrSwd9k/lg9dN6d7Wwu6+CsVIKUpVJCyfRqtLqlO0cz9ljoSpPRSqu61HaVXWgOhT4nLu7mX0Z+FDF25cZYyeDf6TCDQZTGX0n5+vmNhsLVWmD0KVHdhx2394VChvLYtb7ZhONGYgLU9I9SQPVo+tMUqRbL2vVKbz/LO2VcqoOVEuBewHc/XdmtrGZbeTuvw9WMLOVwEqApUuXVrx7mUZBdalosIqtToXniJwUrhKqU00GqWAslbr+KnbXeNXGrm2pHXVSZapSebrQ6jgLMK77MYuksxQnbV+yqzpQOfB46PHj4TAF4O7nAufCYKb0ivcvU6rSKlV025cOqhS2IuHtGKlOtSk6SF0BqwMq/hT95aYJJz08Fp2HSmZZEIaqDkVxZzQqZGVT9Vl+64AlAGa2KfAfFW9fZox/pN4wNbavS/t3wVidBdiyDg5GP+azoeCl6lTtJoWNYJbyaPApElLyzj9VtosvXI2rdLb11f37rM2i6o+DK4DXAV8b/vxGxdsXqZS/vf//sFW1qo7v1263nz8Mv9w0/rkPbTqYDuEvM1SqjvnsJzNPsyDldGlcUtplctLOAszzO+QOhkF42tsXLo8u67lKL448nDbh74GXAvcAr3b3xGs66OLI0oSkM/yyhilb4Z3p8itKISu7sUAVnS4hrIbq1CBQZXtfpgUrhanm5Akjcd1oeV8/6TV5rz1YdlqF1asPCO0oY56Iq1D1JFw1dnFkHzjG3Z/j7gekhSmRpkSDk7/dpqIylYfZo+oezMj3a7sF2QQVqyiFqWat5iWjW571kx6nva4OlY6TWm3ZuvP29vlb+LU9p5nSZbrd0/9/pFVSqMrG9yO9OlWTLBdUDksKVdKOtFAyKbCEg9mkkJX2XJZKU54AWEjWYDVlOjikUqR6/nbDPuq5KlO2NJgWYbpCiGZez8Yfibn48ePU+qn5i0fzfwl9aNPjR91/H9r0eHisxgrV/zL46350zUyDqkJP0nayTMFQaozYpHFSUxa6FKhkZmQeM7V0+ifqDFeqFK4mePQc+IO3DO539BOzsUqVwtREbVzqpapJO4N5s8LdgKV/nyBUTQpP0e6/noypCuvox4OISPv8EbCnvaXtZmS21WP9+xKaVkEwCX4mnR1XdAxT2dfnVSq05QlT0df0KFgpUMl028E1jkrK+fU5yc/9QX/CljQvz1inohN0VhmkooPl454Pt3PsDL8sCoQjs18C4L5V7tc2TYPSZfrtkP0f8Sx090k+7jlC06/PSQ9gE2y9WX/+Ny7ZtTnT+KRJOfNMOrogBO59TTWNXLAjx/b5BbbPL8YWB+Gqq1ShktmgSpXU4dfnxFepglClCpYMhUNKdKxSkqTnswaeSc/nnXm9tBxjo4KKVBCiwj+7Wq1SoJLZoVAldShRkYqz9WZe6Gw/6Y8gyBQd8F1FuIm2Ie9rE9sQNyN63OOMM6e7bzXW7RcNWF0KVwpUIiF+9yJ1+0kr/OGxR5lnTJf+yxJqki4Vk3Wqg7LdjnFTLJSeUgEyVayioamrXX8KVC2xKwc//dB22zFzMlSpZilUacqE7gqfsZc1XAXr6Wy/6ZPWzRftTszyusratLdj9nkA3F8f08AJUyYElakenc2XRIGqJQpS3eZ3z8/omBSugjDS19nHFaayc38LZgW69pLGWOUUBCRVrQSSuwonVa5ak3SJmQIhKqlalXV5nRSoZPbkHEsVhKsgWPU9iPS9/W0pFKqCMFVRsEpz12O7ju53Z1SJ1CnLTOdpgspSWGyVqUqTZk7PELLCA9OTAlMbY6sUqEQy8rsX5ZqCQaZL4QpV6L77WxKv1xcsHx9LNe8mdmNHBsFpx01/PFoeDlKx230x+Pfnf8Y5m2MAOI7zUrcl0y8uZEG2oGX2+foD2Whf3TvbT4FKZlPRM/7usQWhyn2z3nT7qTpVTKEwlSAamPJcEDkIT5NC1Nj+EkKUSOfknFKha3ozsedXzPiKafyAtCyhQuW+mcKKFJJUkYp6EWvL7WdCdSp6X6SIpArXLOhdheorZrzS1e0iFahhXqouD1RX4CumbHUqy0zrWUNV1RSgZke0O66q4NP1AHU32wKwlPtr31dvApVClPRJl4OVdN9N7Fb7PhSmpl807KROb1CQ++sb2U8f9KbLT0RkFkwKU2W7/kBhahakVY7yVpXSglGXK1RNVqegRxUqkVoEY6KydP0VOMOvTwPWe+NdBmc2U7GucjB6FcqGKQUpKWJWK055qUIlAtnCkq4DKAVUGcpuYrfCFSyFqeln9vnRra7th39mXb8tQWXqbrYdVauKsn8c3NKoQiUSCIeqCsNTeDB4W9WqqRqQ3lB1qi3RQJRnPJXC1OxqKryE99N2YMoiHKrqpkBVkK7FN+VizgC0vR1f31J7pBVX8tbR/UP5VOHtmJ0ztq1DKj7JpopxVaCJPSW7PFWqPncVTqpKhRUKVGa2OXARsAdwP/BGd7/VzPYCPgcsAj7h7h8usv0+UJCaAaFQZRVduFNjqvorHIjKqDJMVRWkRKbdUu7nbratdYB60TFUxwJ3uvtOwHuBIDidA7wW2Bk40syeU7qFIm3awcfClC0ptzmFqX4pE34OcY+9VaXqMKXqVH91veut6+1L46+b/xncT1I0UG0NBEfou8DzzWw7wNz9B+7+GHAZcGDB7YuIdELV3XNVyBumFJamT90D0KvWlbYWGUs1KUgFCnX5ufu7Qw/fxSBULQXuDS1fD2wXfa2ZrQRWAixdurTI7kUkh6kakC6FKlN1DEq/mMMA+DP+qfJtS7IuhJIy6hxT9UN2Gd1/AbcteL7u+agKT5tgZovN7DLgAOBkwIHHQ6s48ET0de5+rrvPufvc4sWLi+6+NFsxuIlMM4WparRVpWpixnTIWMH6is3fhhSmmtG3alQXBOEqHLLqNjFQmdmpZnZL5HYKcB1wLbDM3R8A1gHhESZLgLtrabWIyJRLClN5Q1Zl1alXjodKhan6TWuIqut3egG3jVWmfsguvIDb+CG7NBKsJnb5ufvpwOnhZWb2ceBT7v6R0HrrzGwTM3seg3B1GPCKittbGb+07RZIX9kS4L70/9G7a96faXOIO1+1Gid3PT2y7VN3rW9fRb2ye+PJptE0hqioOrv+ghAF86GqCUXnodoTeMVwPBTAOnd/GXACcCmwOXCGu99XQRtFesfsvNhQFe2Cq+usP3X1tStXF2E0SDVMA9alLXWHqqYVGkPl7vu7+3Pc/fnD28uGy693993d/dnu/vfVNlWkX8ya+6Jy32zsJj3RQJhSYJIum6ZqnGZKF6lROFTV1Q2oANVTLVemRLqi77OpB3RxZJE87jtv4vipJGbnLahaFa0oqRrVjsxdeZPCUoYw9aLTfxy/vMIJPVW9kq6YhgH4qlCJNCw6virvOCqFqG475AORBRVWonSpmenX91AxyxSoRBq2sOsv+ACdXPJWmOqZEmHqptBZfmWDlCpR0gd97/ZTl59IirLX7pu4/QYHrkvDSlamkrr8ZLr1PVTMMlWoRBqmECVZjULVqe22Q5rl/vqZ7Prr++B0BSqRrAoORp+svx8gs6j2CT5FpJfU5SeSYKy7r5Yw9XoUpvopONtvwQD0Opyq2clF+kAVKpEe0GD07jnEHU63ekOVwtTMmtVuvz5ThUqkFapMyQQKUyK9okAl0rC1/EWu9VWd6jCFHpHK9HlAOihQiUxW4fipIEytZVFl25QppKAm9D9gzBoFKpGWrGXRxGCl6lQPVB1+FKZEekmD0kVaFoSq3XhktExBakYpTEmNsla8NBi+GAUqkY5Yy6KxUCUzRmFKatCXbsO+tDONuvxEJtkueu29egRhStWpHioThk51hSmJVaZS5P76wiGl6XAzDWEKVKESiVX3NfzirGURu7q+WKeOwpLUpM4gEp4Hq845sToRpu4z2K78v1MFKpGIBWGqwrP8duPvgfipExSmeu5Un78gskKUVCAIG9Ew03QImYkxVfeFLidVMFwpUIm0QOFpSilISQ3aquIkBbqqt9+67Xw8UBWkMVQiLTCr60LLIiL1KDMuq/PCVan7rFDAUoVKJKTO7j4RkT6a2hBVMVWoREREJLOpDVjRsVNBpSpjxapUoDKzzc3sTjN7/vDxXma21sx+ambvKLNtkWnm3sxUDCIidSgSqoIuw152HWYYqF62y++DwBahx+cArwXWAjeY2Zfd/d9K7kNkKihEicg0iYai8DQLcY87r+TA9MKBysz2ZRCmfjh8vB1g7v6D4ePLgAOBT5dqoUhbSo6fUoASkVkSna8qHKR6F67CMk6jUKjLz8yeBJwJvDO0eClwb+jxeuCZMa9daWZrzGzNhg0biuxepPMUpkREeiKoTMUFpxxzUhWtUL0HOM/dHzAblcgceDy0jgNPRF/o7ucC5wLMzc1p0hYREZEpUees6rUIwlQF81BNDFRmdipwRGTxHwG3mdkpDCpTVwL/HQifdL4EuLN0C0V6QBUpEZGemRSics6YPjFQufvpwOlJz5vZ1cCx7n6rmW1iZs8D1gGHAa/I1RqRFpW5fl8wUaeClYjMul5UqZLCVIlr+lU9secJwKXA5sAZ7n5fxdsXaYYm9BQRmU41hCmoIFC5+7LQ/euB3UttMG1wmEhTtjsmV6hSZUpEZF7aGX+tSeviqyBz6NIzIpTr7hMRkYU6EaKgkgHnWXTv0jPbuapT0g3bqeokItJrk6pSFWaO7gUqkRb4+piFGbv81N0nItJBDVWmAuryk5lXtLtPQUpEpKdq6AlThUpERESmT1J3Xk3DilShEilIc0+JiPRIzeOzFahE4mgeKhGR6dDQiW7q8hMpQdUpEREBVahEFspQnVKQEhGRMFWoRMLU1SciIgUoUInkpOqUiEjH3Weah0qkVcHs6AmVKoUpEZEeaOGKK6pQieQQTJUgIiISpgqVzDxfHzNbetx1/DS+SkREEihQiZAQqqJ0sWQREUmgQCUylClU3XceNhznqPFUIiISUKASCfH1g59ZLpgcN55KIUtEZDZpULpIDF8/H65EREQmUYVKJEU0VNmSYxS0RERkAVWoRHJQmBIRkTgKVCIiIiIlKVCJiIiIlFQ4UJnZ+8zsp2Z2i5nNDZftZWZrh8vfUV0zRURERLqrUKAys5cALwGeCxwHfGj41DnAa4GdgSPN7DlVNFJERESky4pWqF4FnO3uj7v7NcDJZrYdYO7+A3d/DLgMOLCqhoqIiIh0VdFA9VxgLzP7vpldB2wMLAXuDa2zHnhm9IVmttLM1pjZmg0bNhTcvYiIiEh3FA1UmwFbA3PAO4ELAAceD63jwBPRF7r7ue4+5+5zixcvLrh7ERERke6YOLGnmZ0KHBFZvC3wYXf/PfAvZvZ0YB0QvmDHEuDOqhoqIiIi0lUTK1Tufrq77x6+Ae8FDgUwsz8G7nL3dcAmZvY8M9scOAz4Rp2NFxEREemCol1+5wGbmtmtwKeBlcPlJwCXArcAf+fu95VvooiIiEi3FbqW3/AsvmNjll8P7F62USIiIiJ9opnSRUREREpSoBIREREpSYFKREREpCQFKhEREZGSFKhERERESlKgEhERESlJgUpERESkJAUqERERkZIUqERERERKUqASERERKUmBSkRERKQkBSoRERGRkhSoREREREpSoBIREREpSYFKREREpCQFKhEREZGSFKhERERESlKgEhERESlJgUpERESkJAUqERERkZIUqERERERKUqASERERKalQoDKzp5jZJWb2YzO70cz2GC7fy8zWmtlPzewd1TZVREREpJuKVqj+O3Cvu+8KvBc4Y7j8HOC1wM7AkWb2nPJNFBEREem2ooHq98BTzcyALYFfm9l2gLn7D9z9MeAy4MCK2ikiIiLSWZsUfN3/Bd4DPAA8HfjPwFLg3tA664Htoi80s5XASoClS5cW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\n",
"text/plain": [
"<Figure size 720x720 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"print('The box is:')\n",
"for i,j in enumerate(cid):\n",
" print(' %0.2f%% in %s.' % (ccounts[i]/len(ccoords)*100, df['Country'][j]))\n",
"print(' %0.2f%% in the Ocean.' % ((len(ccoords)-np.sum(ccounts))/len(ccoords)*100))\n",
"\n",
"fig = plt.figure(figsize=(10, 10))\n",
"ax = fig.add_subplot(1,1,1, aspect='equal')\n",
"ax.pcolormesh(lon, lat, country.T, cmap='jet')\n",
"\n",
"rect = plt.Rectangle([lon0, lat0], lon1-lon0, lat1-lat0, linewidth=2.5, facecolor='none', edgecolor='k')\n",
"ax.add_patch(rect)"
]
}
],
"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