From bdbb1197f58a995a99141c58c1bbc72b48933148 Mon Sep 17 00:00:00 2001
From: Le Roux Erwan <erwan.le-roux@irstea.fr>
Date: Mon, 2 Mar 2020 19:18:59 +0100
Subject: [PATCH] [paper 1] fix plots after answer from samuel

---
 .../scm_models_data/abstract_study.py          |  4 ++--
 .../study_visualization/study_visualizer.py    |  2 +-
 .../data/main_example_swe_total_plot.py        |  2 +-
 .../main_result_trends_and_return_levels.py    | 18 +++++++++---------
 .../plot_selection_curves.py                   |  4 ++--
 .../plot_trend_curves.py                       |  9 +++++----
 ...udy_visualizer_for_non_stationary_trends.py |  1 +
 7 files changed, 21 insertions(+), 19 deletions(-)

diff --git a/experiment/meteo_france_data/scm_models_data/abstract_study.py b/experiment/meteo_france_data/scm_models_data/abstract_study.py
index d32aa542..66ca5708 100644
--- a/experiment/meteo_france_data/scm_models_data/abstract_study.py
+++ b/experiment/meteo_france_data/scm_models_data/abstract_study.py
@@ -437,8 +437,8 @@ class AbstractStudy(object):
 
         # Add legend for the marker
         if massif_name_to_marker_style is not None:
-            legend_elements = cls.get_legend_for_model_symbol(marker_style_to_label_name, markersize=8)
-            ax.legend(handles=legend_elements[:], loc='upper right')
+            legend_elements = cls.get_legend_for_model_symbol(marker_style_to_label_name, markersize=7)
+            ax.legend(handles=legend_elements[:], loc='upper right', prop={'size': 9})
             # ax.legend(handles=legend_elements[4:], bbox_to_anchor=(0.01, 0.03), loc='lower left')
             ax.annotate(' '.join(filled_marker_legend_list),
                         xy=(0.05, 0.015), xycoords='axes fraction', fontsize=7)
diff --git a/experiment/meteo_france_data/scm_models_data/visualization/study_visualization/study_visualizer.py b/experiment/meteo_france_data/scm_models_data/visualization/study_visualization/study_visualizer.py
index df61a531..1a221eb9 100644
--- a/experiment/meteo_france_data/scm_models_data/visualization/study_visualization/study_visualizer.py
+++ b/experiment/meteo_france_data/scm_models_data/visualization/study_visualization/study_visualizer.py
@@ -639,7 +639,7 @@ class StudyVisualizer(VisualizationParameters):
         ax.plot(x, y, color=color, linewidth=linewidth, label=label, linestyle=linestyle)
         # ax.set_ylabel('{} (in {})'.format(snow_abbreviation, self.study.variable_unit), color=color, fontsize=15)
 
-        ax.xaxis.set_ticks(x[2::10])
+        ax.xaxis.set_ticks(x[1::10])
         ax.tick_params(axis='both', which='major', labelsize=13)
         plot_name = 'Annual maxima of {} in {} at {}m'.format(snow_abbreviation, massif_name, altitude)
         self.plot_name = plot_name
diff --git a/papers/exceeding_snow_loads/data/main_example_swe_total_plot.py b/papers/exceeding_snow_loads/data/main_example_swe_total_plot.py
index cbfe15e3..d65e6479 100644
--- a/papers/exceeding_snow_loads/data/main_example_swe_total_plot.py
+++ b/papers/exceeding_snow_loads/data/main_example_swe_total_plot.py
@@ -35,7 +35,7 @@ def max_graph_annual_maxima_poster():
     save_to_file = True
     study_class = CrocusSnowLoadTotal
 
-    examples_for_the_paper = False
+    examples_for_the_paper = True
 
     ax = plt.gca()
     if examples_for_the_paper:
diff --git a/papers/exceeding_snow_loads/result_trends_and_return_levels/main_result_trends_and_return_levels.py b/papers/exceeding_snow_loads/result_trends_and_return_levels/main_result_trends_and_return_levels.py
index a3015cab..12e04ac9 100644
--- a/papers/exceeding_snow_loads/result_trends_and_return_levels/main_result_trends_and_return_levels.py
+++ b/papers/exceeding_snow_loads/result_trends_and_return_levels/main_result_trends_and_return_levels.py
@@ -67,10 +67,10 @@ def intermediate_result(altitudes, massif_names=None,
 
     # Plots
     plot_trend_map(altitude_to_visualizer)
-    plot_trend_curves(altitude_to_visualizer={a: v for a, v in altitude_to_visualizer.items() if a >= 900})
-    plot_uncertainty_massifs(altitude_to_visualizer)
-    plot_uncertainty_histogram(altitude_to_visualizer)
-    plot_selection_curves(altitude_to_visualizer)
+    # plot_trend_curves(altitude_to_visualizer={a: v for a, v in altitude_to_visualizer.items() if a >= 900})
+    # plot_uncertainty_massifs(altitude_to_visualizer)
+    # plot_uncertainty_histogram(altitude_to_visualizer)
+    # plot_selection_curves(altitude_to_visualizer)
 
 
 def major_result():
@@ -90,11 +90,11 @@ def major_result():
 
 
 if __name__ == '__main__':
-    major_result()
-    # intermediate_result(altitudes=[900], massif_names=['Beaufortain', 'Vercors'],
-    #                     uncertainty_methods=[ConfidenceIntervalMethodFromExtremes.my_bayes,
-    #                                          ConfidenceIntervalMethodFromExtremes.ci_mle][1:],
-    #                     multiprocessing=True)
+    # major_result()
+    intermediate_result(altitudes=[1800], massif_names=None,
+                        uncertainty_methods=[ConfidenceIntervalMethodFromExtremes.my_bayes,
+                                             ConfidenceIntervalMethodFromExtremes.ci_mle][1:],
+                        multiprocessing=True)
     # intermediate_result(altitudes=[900, 1200], massif_names=['Maurienne'],
     #                     uncertainty_methods=[ConfidenceIntervalMethodFromExtremes.my_bayes,
     #                                          ConfidenceIntervalMethodFromExtremes.ci_mle][1:],
diff --git a/papers/exceeding_snow_loads/result_trends_and_return_levels/plot_selection_curves.py b/papers/exceeding_snow_loads/result_trends_and_return_levels/plot_selection_curves.py
index cb17d737..454b0238 100644
--- a/papers/exceeding_snow_loads/result_trends_and_return_levels/plot_selection_curves.py
+++ b/papers/exceeding_snow_loads/result_trends_and_return_levels/plot_selection_curves.py
@@ -45,10 +45,10 @@ def plot_selection_curves(altitude_to_visualizer: Dict[int, StudyVisualizerForNo
     labelsize = 25
     linewidth = 3
     x = [10 * (i+1) for i in range(len(select_list))]
-    ax.bar(x, select_list, width=width, color='grey', edgecolor='grey', label='Non significative model',
+    ax.bar(x, select_list, width=width, color='grey', edgecolor='grey', label='Non significant model',
            linewidth=linewidth)
     ax.bar(x, selected_and_signifcative_list, width=width, color='black', edgecolor='black',
-           label='Significative model',
+           label='Significant model',
            linewidth=linewidth)
     ax.legend(loc='upper right', prop={'size': size})
     ax.set_ylabel(' Frequency of selected model w.r.t all time series \n '
diff --git a/papers/exceeding_snow_loads/result_trends_and_return_levels/plot_trend_curves.py b/papers/exceeding_snow_loads/result_trends_and_return_levels/plot_trend_curves.py
index 225345af..890084bf 100644
--- a/papers/exceeding_snow_loads/result_trends_and_return_levels/plot_trend_curves.py
+++ b/papers/exceeding_snow_loads/result_trends_and_return_levels/plot_trend_curves.py
@@ -11,11 +11,10 @@ from papers.exceeding_snow_loads.study_visualizer_for_non_stationary_trends impo
 def plot_trend_map(altitude_to_visualizer):
     # Compute common max value for the colorbar
     max_abs_changes_above_900 = [visualizer.max_abs_change
-                       for altitude, visualizer in altitude_to_visualizer.items()
-                       if altitude >= 900]
+                                 for altitude, visualizer in altitude_to_visualizer.items()
+                                 if altitude >= 900]
     max_abs_tdrl_above_900 = max(max_abs_changes_above_900) if len(max_abs_changes_above_900) > 0 else None
 
-    max_abs_tdrl_below_900 = max(altitude_to_visualizer[300].max_abs_change, altitude_to_visualizer[600].max_abs_change)
     for altitude, visualizer in altitude_to_visualizer.items():
         if 900 <= altitude <= 4200:
             add_color = (visualizer.study.altitude - 1500) % 900 == 0
@@ -24,7 +23,9 @@ def plot_trend_map(altitude_to_visualizer):
             if altitude == 2700:
                 visualizer.plot_trends(max_abs_tdrl_above_900, add_colorbar=True)
         else:
-            visualizer.plot_trends(max_abs_tdrl_below_900, add_colorbar=altitude==600)
+            max_abs_tdrl_below_900 = max(altitude_to_visualizer[300].max_abs_change,
+                                         altitude_to_visualizer[600].max_abs_change)
+            visualizer.plot_trends(max_abs_tdrl_below_900, add_colorbar=altitude == 600)
 
 
 def plot_trend_curves(altitude_to_visualizer: Dict[int, StudyVisualizerForNonStationaryTrends]):
diff --git a/papers/exceeding_snow_loads/study_visualizer_for_non_stationary_trends.py b/papers/exceeding_snow_loads/study_visualizer_for_non_stationary_trends.py
index 4bd5b006..724c8063 100644
--- a/papers/exceeding_snow_loads/study_visualizer_for_non_stationary_trends.py
+++ b/papers/exceeding_snow_loads/study_visualizer_for_non_stationary_trends.py
@@ -111,6 +111,7 @@ class StudyVisualizerForNonStationaryTrends(StudyVisualizer):
 
     @cached_property
     def massif_name_to_non_null_years_and_maxima(self):
+        # return self.massif_name_to_years_and_maxima
         d = {}
         for m, (years, maxima) in self.massif_name_to_years_and_maxima.items():
             mask = np.nonzero(maxima)
-- 
GitLab