MY CODE
# -*- coding: utf-8 -*-
import pandas as pd
import geopandas as gpd
from shapely.geometry import Point
import matplotlib.pyplot as plt
import numpy as np
plt.style.use("seaborn")
area_gjson = gpd.read_file("COVID-19-master/aree/geojson/dpc-covid19-ita-aree.geojson")
areas_italy = gpd.read_file("./ITA_adm/ITA_adm1.shp")
data = pd.read_csv("./COVID-19-master/dati-regioni/dpc-covid19-ita-regioni-20200316.csv")
"""
bolzano_cases = data.at[data.loc[data["denominazione_regione"]=="P.A. Bolzano"].index[0],"totale_casi"]
bolzano_cases = int(data[data["denominazione_regione"] == "P.A. Bolzano"]["totale_casi"])
"""
#adding bolzanos total cases to Trentos (because the shp.-file gives only )
data.iloc[17, data.columns.get_loc("totale_casi")] = data.iloc[17, data.columns.get_loc("totale_casi")] + data.iloc[2, data.columns.get_loc("totale_casi")]
data = data[data["denominazione_regione"] != "P.A. Bolzano"]
data = data.reindex(index = [0,13,1,3,4,5,6,7,8,9,10,11,12,14,15,16,17,18,19,20])
areas_italy["totale_casi"] = np.array(data["totale_casi"])
areas_italy["long"] = np.array(data["long"])
areas_italy["lat"] = np.array(data["lat"])
areas_italy["totale_casi"] = areas_italy["totale_casi"].astype('int64', copy=False)
#plt.xkcd()
import matplotlib
from matplotlib import cm
from mpl_toolkits.axes_grid1 import make_axes_locatable
fig, ax = plt.subplots(1, 1)
divider = make_axes_locatable(ax)
cax = divider.append_axes("right", size="5%", pad=0.1)
areas_italy.plot(column = "totale_casi", ax = ax, legend = True, cax = cax, cmap = "Reds",edgecolor="black" )
ax.set_title("Italy 16. March")
cax.set_title("Cases")
for index,row in areas_italy.iterrows():
#because Lombardi dark red --> needs other font color
if(row["NAME_1"] == "Lombardia"):
xy=row['geometry'].centroid.coords[:]
#print(xy)
xytext=row['geometry'].centroid.coords[:]
ax.annotate(row['totale_casi'],xy=xy[0], xytext=xytext[0], horizontalalignment='center',verticalalignment='center', color = "white", fontsize = 9)
else:
xy=row['geometry'].centroid.coords[:]
xytext=row['geometry'].centroid.coords[:]
ax.annotate(row['totale_casi'],xy=xy[0], xytext=xytext[0], horizontalalignment='center',verticalalignment='center', color = "black", fontsize = 9)
#plt.axis('off')
plt.savefig("./figures/Italy_reds.png",dpi = 230, bbox_inches='tight')
fig = plt.figure()
ax = areas_italy.plot(edgecolor="white", facecolor = "black")
ax.set(title="Total Cases as of March 16$^{th}$")
#https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.iterrows.html
for index,row in areas_italy.iterrows():
xy=row['geometry'].centroid.coords[:]
#print(row["totale_casi"])
ax.annotate(row['totale_casi'], xy=xy[0], horizontalalignment='center',verticalalignment='center', color = "white")
ax.scatter(xy[0][0],xy[0][1], s = row["totale_casi"]/4, c = "red", alpha = 0.8)
#ax.scatter(areas_italy["long"],areas_italy["lat"], s = areas_italy["totale_casi"]/3, c = "red", alpha = 0.5)
plt.savefig("./figures/italy_bubble", dpi = 320, bbox_inches='tight')