-
Notifications
You must be signed in to change notification settings - Fork 0
/
plotElectricityLossFromPkl.py
50 lines (41 loc) · 1.39 KB
/
plotElectricityLossFromPkl.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import pandas as pd
import geopandas as gpd
import matplotlib.pyplot as plt
import geoplot as gplt
from shapely.geometry import Polygon
def make_bbox(long0, lat0, long1, lat1):
bbox = Polygon([[long0, lat0], [long1, lat0], [long1, lat1], [long0, lat1]])
bbox_gdf = gpd.GeoDataFrame(index=[0], crs="epsg:4326", geometry=[bbox])
return bbox_gdf
def plotElectricityLoss(worldElectricity, region, rate):
_, ax = plt.subplots()
if region == "europe":
# http://bboxfinder.com/
bbox = make_bbox(-36.386719, 29.228890, 60.292969, 74.543330)
worldElectricity = worldElectricity.overlay(bbox, how="intersection")
gplt.choropleth(
worldElectricity,
hue=worldElectricity["fraction"],
cmap="viridis",
ax=ax,
legend=True,
edgecolor="None",
)
plt.title(
"Predicted Fraction Electricity Lost By Country \n One in "
+ str(1 / rate)
+ " Year Storm"
)
plt.savefig(
"Data/SmallData/Figures/Europe_USA/"
+ region
+ str(rate)
+ "fraction_electr_lost.png",
bbox_inches="tight",
)
plt.show()
file = "Data/SmallData/worldElectricity_europe_0.0001.pkl"
worldElectricity = pd.read_pickle(file)
rate = float(file[file.rfind("_") + 1 : file.rfind(".")])
region = file[file.find("_") + 1 : file.rfind("_")]
plotElectricityLoss(worldElectricity, region, rate)