Commit e394f7fa authored by Le Roux Erwan's avatar Le Roux Erwan
Browse files

[contrasting project] add comparative_curve_wrt_altitude.py to provide box plot wrt the altitude

parent 4e372cee
No related merge requests found
Showing with 11 additions and 8 deletions
+11 -8
from collections import OrderedDict
from itertools import chain
import matplotlib.pyplot as plt
import numpy as np
......@@ -65,9 +67,10 @@ class ComparativeCurveWrtAltitude(object):
ax2.boxplot(x.values(), positions=self.altitudes, widths=width)
ax2.set_xlim([min(self.altitudes) - width, max(self.altitudes) + width])
if relative_change:
ax2.set_ylabel('Relative change in {} (%)'.format((ylabel.split('(')[0])))
ylabel2 = 'relative change in {} (%)'.format((ylabel.split('(')[0]))
else:
ax2.set_ylabel('Change in {}'.format(ylabel))
ylabel2 = 'change in {}'.format(ylabel)
ax2.set_ylabel('Distribution of ' + ylabel2)
# ax: Mean plots on top
values = [list(v.values()) for v in [altitude_to_mean_value_before, altitude_to_mean_value_after]]
......@@ -82,9 +85,9 @@ class ComparativeCurveWrtAltitude(object):
ax.set_xlabel('Altitude (m)')
# Set same limits to align axis
a = np.array(list(x.values()))
all_values = list(a.flatten()) + values[0] + values[1]
print(type(all_values))
a = list(x.values())
a = list(chain.from_iterable(a))
all_values = a + values[0] + values[1]
epsilon = 0.03 * (max(all_values) - min(all_values))
ylim = [min(all_values) - epsilon, max(all_values) + epsilon]
ax.set_ylim(ylim)
......
......@@ -16,8 +16,8 @@ from projects.contrasting_trends_in_snow_loads.gorman_figures.figure1.study_visu
def load_altitude_to_study_visualizer(study_class, save_to_file=True) -> OrderedDict:
altitude_to_study_visualizer = OrderedDict()
# for altitude in ALL_ALTITUDES_WITHOUT_NAN[2:10]:
for altitude in ALL_ALTITUDES_WITHOUT_NAN[2:5]:
for altitude in ALL_ALTITUDES_WITHOUT_NAN[2:10]:
# for altitude in ALL_ALTITUDES_WITHOUT_NAN[2:5]:
return_period = 30
study_visualizer = StudyVisualizerForReturnLevelChange(study_class=study_class,
altitude=altitude,
......@@ -29,7 +29,7 @@ def load_altitude_to_study_visualizer(study_class, save_to_file=True) -> Ordered
def plots():
for study_class in [SafranSnowfall1Day, SafranSnowfall3Days, SafranSnowfall5Days, SafranSnowfall7Days][:1]:
for study_class in [SafranSnowfall1Day, SafranSnowfall3Days, SafranSnowfall5Days, SafranSnowfall7Days][:]:
altitude_to_study_visualizer = load_altitude_to_study_visualizer(study_class, save_to_file=True)
# for v in altitude_to_study_visualizer.values():
# v.all_plots()
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment