From ef6df62b50e4b06ac3dee5aa96076c1c441b8960 Mon Sep 17 00:00:00 2001 From: Le Roux Erwan <erwan.le-roux@irstea.fr> Date: Tue, 22 Oct 2019 15:53:42 +0200 Subject: [PATCH] [EUROCODE DATA] improve display for the eurocode return level graphs legend, and title --- .../eurocode_data/departement_alpes_francaises.py | 8 ++++---- experiment/eurocode_data/eurocode_region.py | 5 ++++- experiment/eurocode_data/eurocode_visualizer.py | 11 ++++++----- experiment/eurocode_data/main_eurocode_drawing.py | 4 ++-- 4 files changed, 16 insertions(+), 12 deletions(-) diff --git a/experiment/eurocode_data/departement_alpes_francaises.py b/experiment/eurocode_data/departement_alpes_francaises.py index e6028a8c..9878c858 100644 --- a/experiment/eurocode_data/departement_alpes_francaises.py +++ b/experiment/eurocode_data/departement_alpes_francaises.py @@ -1,5 +1,4 @@ -from enum import Enum - +import re from experiment.eurocode_data.eurocode_region import AbstractEurocodeRegion, E, C2, C1 from root_utils import get_display_name_from_object_type @@ -13,8 +12,9 @@ class AbstractDepartementAlpesFrancaises(object): pass def __str__(self): - return get_display_name_from_object_type(type(self)) + '( {} Eurocode region)'.format( - get_display_name_from_object_type(type(self.eurocode_region))) + departement_name = re.findall('[A-Z][^A-Z]*', get_display_name_from_object_type(type(self))) + departement_name = ' '.join(departement_name) + return departement_name + ' ({} Region)'.format(get_display_name_from_object_type(type(self.eurocode_region))) class HauteSavoie(AbstractDepartementAlpesFrancaises): diff --git a/experiment/eurocode_data/eurocode_region.py b/experiment/eurocode_data/eurocode_region.py index cb92c1ab..d053744e 100644 --- a/experiment/eurocode_data/eurocode_region.py +++ b/experiment/eurocode_data/eurocode_region.py @@ -1,3 +1,6 @@ +from experiment.eurocode_data.utils import LAST_YEAR_FOR_EUROCODE + + class AbstractEurocodeRegion(object): def __init__(self, sk0, sad) -> None: @@ -42,7 +45,7 @@ class AbstractEurocodeRegion(object): def plot_max_loading(self, ax, altitudes): ax.plot(altitudes, [self.eurocode_max_loading(altitude) for altitude in altitudes], - label='Eurocode limit', color='k') + label='Eurocode computed in {}'.format(LAST_YEAR_FOR_EUROCODE), color='k') class C1(AbstractEurocodeRegion): diff --git a/experiment/eurocode_data/eurocode_visualizer.py b/experiment/eurocode_data/eurocode_visualizer.py index 69c80f60..e34e94d1 100644 --- a/experiment/eurocode_data/eurocode_visualizer.py +++ b/experiment/eurocode_data/eurocode_visualizer.py @@ -28,9 +28,9 @@ def plot_model_name_to_dep_to_ordered_return_level_uncertainties( ax6.remove() ax9.remove() - plt.suptitle('50-year return levels for all French Alps departements. \n' + plt.suptitle('50-year return levels of snow load for all French Alps departements. \n' 'Comparison between the maximum EUROCODE in the departement\n' - 'and the maximum return level found for the massif belonging to the departement') + 'and the maximum return level found (in 2017 for the non-stationary model) for the massif in the departement') if show: plt.show() @@ -53,7 +53,8 @@ def plot_dep_to_model_name_dep_to_ordered_return_level_uncertainties(ax, dep_cla lower_bound = [r.poster_uncertainty_interval[0] for r in ordered_return_level_uncertaines] upper_bound = [r.poster_uncertainty_interval[1] for r in ordered_return_level_uncertaines] ax.fill_between(altitudes, lower_bound, upper_bound, color=color, alpha=alpha) - ax.legend() + ax.legend(loc=2) + ax.set_ylim([0.0, 4.0]) ax.set_title(str(dep_object)) - ax.set_ylabel('Maximum {} quantile in 2017 (in N $m^-2$)'.format(EUROCODE_QUANTILE)) - ax.set_xlabel('Altitude') + ax.set_ylabel('50-year return level (N $m^-2$)') + ax.set_xlabel('Altitude (m)') diff --git a/experiment/eurocode_data/main_eurocode_drawing.py b/experiment/eurocode_data/main_eurocode_drawing.py index af8a0800..010beed2 100644 --- a/experiment/eurocode_data/main_eurocode_drawing.py +++ b/experiment/eurocode_data/main_eurocode_drawing.py @@ -18,7 +18,7 @@ from root_utils import get_display_name_from_object_type def dep_to_ordered_return_level_uncertainties(model_class, last_year_for_the_data, altitudes): - model_class_str = get_display_name_from_object_type(model_class).split('TemporalModel')[0] + model_class_str = get_display_name_from_object_type(model_class).split('Stationary')[0] + 'Stationary' model_name = model_class_str + ' 1958-' + str(last_year_for_the_data) # Load altitude visualizer altitude_visualizer = load_altitude_visualizer(AltitudeHypercubeVisualizer, altitudes=altitudes, @@ -42,7 +42,7 @@ def dep_to_ordered_return_level_uncertainties(model_class, last_year_for_the_dat def main_drawing(): # Select parameters - fast_plot = [True, False][1] + fast_plot = [True, False][0] model_class_and_last_year = [ (StationaryTemporalModel, LAST_YEAR_FOR_EUROCODE), (StationaryTemporalModel, 2017), -- GitLab