From 7c17c30cc70ecb19688d6d329574ed5713330585 Mon Sep 17 00:00:00 2001 From: Le Roux Erwan <erwan.le-roux@irstea.fr> Date: Fri, 28 Feb 2020 16:38:47 +0100 Subject: [PATCH] [paper 1] create intensity plot for all time series with psnow < 1 --- .../extreme_trend_test/abstract_gev_trend_test.py | 2 +- .../qqplot/plot_qqplot.py | 11 ++++++++--- .../study_visualizer_for_non_stationary_trends.py | 3 +++ 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/experiment/trend_analysis/univariate_test/extreme_trend_test/abstract_gev_trend_test.py b/experiment/trend_analysis/univariate_test/extreme_trend_test/abstract_gev_trend_test.py index d6a67436..792dcb8e 100644 --- a/experiment/trend_analysis/univariate_test/extreme_trend_test/abstract_gev_trend_test.py +++ b/experiment/trend_analysis/univariate_test/extreme_trend_test/abstract_gev_trend_test.py @@ -285,7 +285,7 @@ class AbstractGevTrendTest(AbstractUnivariateTest): ax.set_xlabel("Standard Gumbel quantile", fontsize=size) ax.set_ylabel("Non-zero annual maxima of GSL ({})".format(AbstractSnowLoadVariable.UNIT), fontsize=size) ax.legend(loc='lower right', prop={'size': 10}) - plt.show() + def qqplot_wrt_standard_gumbel(self, massif_name, altitude): ax = plt.gca() diff --git a/papers/exceeding_snow_loads/check_mle_convergence_for_trends/qqplot/plot_qqplot.py b/papers/exceeding_snow_loads/check_mle_convergence_for_trends/qqplot/plot_qqplot.py index c1fdd744..58abc401 100644 --- a/papers/exceeding_snow_loads/check_mle_convergence_for_trends/qqplot/plot_qqplot.py +++ b/papers/exceeding_snow_loads/check_mle_convergence_for_trends/qqplot/plot_qqplot.py @@ -23,7 +23,9 @@ def extract_time_serimes_with_worst_number_of_zeros(altitude_to_visualizer, nb_w for a, v in altitude_to_visualizer.items(): l.extend([(a, v, m, p) for m, p in v.massif_name_to_psnow.items()]) # Sort them and keep the worst examples - l = sorted(l, key=lambda t: t[-1])[:nb_worst_examples] + l = sorted(l, key=lambda t: t[-1]) + if nb_worst_examples is not None: + l = l[:nb_worst_examples] print('Worst examples:') for a, v, m, p in l: print(a, m, p) @@ -187,13 +189,16 @@ if __name__ == '__main__': altitude_to_visualizer = {altitude: StudyVisualizerForNonStationaryTrends(CrocusSnowLoadTotal(altitude=altitude), select_only_acceptable_shape_parameter=True, fit_method=TemporalMarginFitMethod.extremes_fevd_mle, - multiprocessing=True) + multiprocessing=True, + save_to_file=True, + show=False) for altitude in altitudes} # plot_qqplot_wrt_standard_gumbel(altitude_to_visualizer) # plot_hist_psnow(altitude_to_visualizer) + plot_intensity_against_gumbel_quantile_for_time_series_with_missing_zeros(altitude_to_visualizer, nb_worst_examples=None) # plot_exceedance_psnow(altitude_to_visualizer) - non_stationarity_psnow(altitude_to_visualizer) + # non_stationarity_psnow(altitude_to_visualizer) # plot_qqplot_for_time_series_examples(altitude_to_visualizer) # plot_intensity_against_gumbel_quantile_for_time_series_with_missing_zeros(altitude_to_visualizer, nb_worst_examples=3) 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 2b82833c..e2b9eb3d 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 @@ -399,6 +399,9 @@ class StudyVisualizerForNonStationaryTrends(StudyVisualizer): def intensity_plot(self, massif_name, psnow, color=None): trend_test = self.massif_name_to_trend_test_that_minimized_aic[massif_name] trend_test.intensity_plot_wrt_standard_gumbel(massif_name, self.altitude, psnow) + self.plot_name = 'intensity_plot_{}_{}'.format(self.altitude, psnow) + self.show_or_save_to_file(add_classic_title=False, no_title=True) + plt.close() def qqplot(self, massif_name, color=None): trend_test = self.massif_name_to_trend_test_that_minimized_aic[massif_name] -- GitLab