diff --git a/experiment/paper_past_snow_loads/check_mle_convergence_for_trends/qqplot/plot_qqplot.py b/experiment/paper_past_snow_loads/check_mle_convergence_for_trends/qqplot/plot_qqplot.py
index 1a743dcb6bab143ddd1f800c45d62206fac7ca05..1d2d859fc9953fd85cd11f8f3883985046031edd 100644
--- a/experiment/paper_past_snow_loads/check_mle_convergence_for_trends/qqplot/plot_qqplot.py
+++ b/experiment/paper_past_snow_loads/check_mle_convergence_for_trends/qqplot/plot_qqplot.py
@@ -11,6 +11,7 @@ from experiment.meteo_france_data.scm_models_data.visualization.study_visualizat
 from experiment.paper_past_snow_loads.data.main_example_swe_total_plot import tuples_for_examples_paper1
 from experiment.paper_past_snow_loads.study_visualizer_for_non_stationary_trends import \
     StudyVisualizerForNonStationaryTrends
+from extreme_fit.distribution.gev.gev_params import GevParams
 
 
 def plot_qqplot_for_time_series_with_missing_zeros(
@@ -25,6 +26,7 @@ def plot_qqplot_for_time_series_with_missing_zeros(
     print('Worst examples:')
     for a, v, m, p in l:
         print(a, m, p)
+        print(last_quantile(p))
         v.qqplot(m)
 
 
@@ -37,6 +39,7 @@ def plot_qqplot_for_time_series_examples(altitude_to_visualizer: Dict[int, Study
 
 def plot_hist_psnow(altitude_to_visualizer: Dict[int, StudyVisualizerForNonStationaryTrends]):
     """Plot an histogram of psnow containing data from all the visualizers given as argument"""
+    ax = plt.gca()
     # Gather the data
     data = [list(v.massif_name_to_psnow.values()) for v in altitude_to_visualizer.values()]
     data = list(chain.from_iterable(data))
@@ -46,27 +49,45 @@ def plot_hist_psnow(altitude_to_visualizer: Dict[int, StudyVisualizerForNonStati
     print(percentage_of_one)
     data = [d for d in data if d < 1]
     # Plot histogram
-    nb_bins = 13
+    nb_bins = 7
     percentage = False
     weights = [1 / len(data) for _ in data] if percentage else None
-    plt.hist(data, bins=nb_bins, range=(0.35, 1), weights=weights)
-    plt.xticks([0.05 * i + 0.35 for i in range(nb_bins + 1)])
+    count, *_ = ax.hist(data, bins=nb_bins, range=(0.3, 1), weights=weights, rwidth=0.8)
+    # Set x ticks for the histogram
+    ax.set_xticks([0.1 * i + 0.3 for i in range(nb_bins + 1)])
+    ax.set_xlim([0.3, 1])
+    size = 10
     if weights:
         plt.gca().yaxis.set_major_formatter(PercentFormatter(1))
-    plt.xlabel('Distribution of P(Y > 0) when $\\neq 1$')
+    ax.set_xlabel('Probability to have an annual maxima equal to zero, i.e. P(Y > 0)', fontsize=size)
     s = '%' if percentage else 'Number'
-    plt.ylabel('{} of time series'.format(s))
+    ylabel = '{} of time series with some\nannual maxima equal to zero, i.e. with $P(Y > 0) < 1$'
+    ax.set_ylabel(ylabel.format(s), fontsize=size)
+    if not percentage:
+        # Set y ticks for the histogram
+        max_data = int(max(count))
+        ticks = [i for i in range(max_data + 2)]
+        ax.set_yticks(ticks)
+        ax.set_ylim([min(ticks), max(ticks)])
+    ax.tick_params(labelsize=size)
     plt.show()
 
 
+def last_quantile(psnow):
+    n = int(60 * psnow)
+    last_proba = n / (n + 1)
+    standard_gumbel = GevParams(0.0, 1.0, 0.0)
+    return standard_gumbel.quantile(last_proba)
+
+
 if __name__ == '__main__':
     # altitudes = [300, 600, 900, 1200, 1500, 1800][:2]
-    # altitudes = ALL_ALTITUDES_WITHOUT_NAN
-    altitudes = [900, 1800, 2700]
+    altitudes = ALL_ALTITUDES_WITHOUT_NAN
+    # altitudes = [900, 1800, 2700]
     altitude_to_visualizer = {altitude: StudyVisualizerForNonStationaryTrends(CrocusSnowLoadTotal(altitude=altitude),
                                                                               multiprocessing=True)
                               for altitude in altitudes}
     # plot_qqplot_wrt_standard_gumbel(altitude_to_visualizer)
-    # plot_hist_psnow(altitude_to_visualizer)
-    plot_qqplot_for_time_series_examples(altitude_to_visualizer)
+    plot_hist_psnow(altitude_to_visualizer)
+    # plot_qqplot_for_time_series_examples(altitude_to_visualizer)
     # plot_qqplot_for_time_series_with_missing_zeros(altitude_to_visualizer, nb_worst_examples=3)
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 9a07a18e1c5fe518fe1cf04b80ac03ae18b447d3..ba647019d76d6e736f9980c6464e15c16141d4f5 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
@@ -1,4 +1,5 @@
 import numpy as np
+from math import ceil, floor
 import matplotlib.pyplot as plt
 import pandas as pd
 from cached_property import cached_property
@@ -210,20 +211,32 @@ class AbstractGevTrendTest(AbstractUnivariateTest):
     # Some display function
 
     def qqplot_wrt_standard_gumbel(self, marker, color=None):
-        size = 20
+        ax = plt.gca()
+        size = 15
         # Standard Gumbel quantiles
         standard_gumbel_distribution = GevParams(loc=0, scale=1, shape=0)
         n = len(self.years)
         standard_gumbel_quantiles = [standard_gumbel_distribution.quantile(i / (n + 1)) for i in range(1, n + 1)]
         unconstrained_empirical_quantiles = self.compute_empirical_quantiles(self.unconstrained_estimator)
         constrained_empirical_quantiles = self.compute_empirical_quantiles(self.constrained_estimator)
-        plt.plot(standard_gumbel_quantiles, standard_gumbel_quantiles, color=color)
-        plt.plot(standard_gumbel_quantiles, constrained_empirical_quantiles, 'x', label='Gumbel model')
-        plt.plot(standard_gumbel_quantiles, unconstrained_empirical_quantiles, linestyle='None',
-                 label='Selected model', **marker)
-        plt.xlabel("Standard Gumbel quantiles", fontsize=15)
-        plt.ylabel("Empirical quantiles", fontsize=15)
-        plt.legend(loc='upper left', prop={'size': size})
+        all_quantiles = standard_gumbel_quantiles + unconstrained_empirical_quantiles + constrained_empirical_quantiles
+        epsilon = 0.5
+        ax_lim = [min(all_quantiles) - epsilon, max(all_quantiles) + epsilon]
+        ax.plot(standard_gumbel_quantiles, standard_gumbel_quantiles, color='k')
+        ax.plot(standard_gumbel_quantiles, constrained_empirical_quantiles, 'x', label='Stationary Gumbel model $\mathcal{M}_0$')
+        ax.plot(standard_gumbel_quantiles, unconstrained_empirical_quantiles, linestyle='None',
+                 label='Selected model $\mathcal{M}_N$', **marker)
+        ax.set_xlabel("Standard Gumbel quantiles", fontsize=size)
+        ax.set_ylabel("Empirical quantiles", fontsize=size)
+        ax.legend(loc='upper left', prop={'size': 10})
+        ax.set_xlim(ax_lim)
+        ax.set_ylim(ax_lim)
+        ticks = [i for i in range(ceil(ax_lim[0]), floor(ax_lim[1]) + 1)]
+        ax.set_xticks(ticks)
+        ax.set_yticks(ticks)
+        ax.grid()
+        ax.tick_params(labelsize=size)
+
         plt.show()
 
     def compute_empirical_quantiles(self, estimator):