From e394f7fa7ef3a5fb3c17b6e1a143ed6108bdb22b Mon Sep 17 00:00:00 2001
From: Le Roux Erwan <erwan.le-roux@irstea.fr>
Date: Wed, 8 Apr 2020 19:07:56 +0200
Subject: [PATCH] [contrasting project] add comparative_curve_wrt_altitude.py
 to provide box plot wrt the altitude

---
 .../figure1/comparative_curve_wrt_altitude.py       | 13 ++++++++-----
 .../figure1_mean_ratio_return_level_ratio.py        |  6 +++---
 2 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/projects/contrasting_trends_in_snow_loads/gorman_figures/figure1/comparative_curve_wrt_altitude.py b/projects/contrasting_trends_in_snow_loads/gorman_figures/figure1/comparative_curve_wrt_altitude.py
index 610fb2d6..620a12e4 100644
--- a/projects/contrasting_trends_in_snow_loads/gorman_figures/figure1/comparative_curve_wrt_altitude.py
+++ b/projects/contrasting_trends_in_snow_loads/gorman_figures/figure1/comparative_curve_wrt_altitude.py
@@ -1,4 +1,6 @@
 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)
diff --git a/projects/contrasting_trends_in_snow_loads/gorman_figures/figure1/figure1_mean_ratio_return_level_ratio.py b/projects/contrasting_trends_in_snow_loads/gorman_figures/figure1/figure1_mean_ratio_return_level_ratio.py
index 74159dbe..af9cbc34 100644
--- a/projects/contrasting_trends_in_snow_loads/gorman_figures/figure1/figure1_mean_ratio_return_level_ratio.py
+++ b/projects/contrasting_trends_in_snow_loads/gorman_figures/figure1/figure1_mean_ratio_return_level_ratio.py
@@ -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()
-- 
GitLab