An error occurred while loading the file. Please try again.
-
Le Roux Erwan authored
[snow projection] improve drastically the loading time for the abstract_adamont_study.py based on a simple conversion to numpy array. remove fit_method from plot_map argument.
5d45d5c3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import matplotlib.pyplot as plt
from typing import Dict
from matplotlib.lines import Line2D
from extreme_data.meteo_france_data.adamont_data.adamont_scenario import gcm_rcm_couple_to_color, gcm_rcm_couple_to_str
from projects.projected_snowfall.comparison_with_scm.comparison_historical_visualizer import \
ComparisonHistoricalVisualizer
def individual_plot(visualizer: ComparisonHistoricalVisualizer):
# visualizer.adamont_studies.plot_maxima_time_series_adamont(visualizer.massif_names, visualizer.scm_study)
# visualizer.shoe_plot_bias_maxima_comparison()
# for relative in [True, False]:
# visualizer.plot_map_with_the_bias_in_the_mean(relative)
visualizer.plot_map_with_the_rank()
# for plot_maxima in [True, False][:1]:
# visualizer.plot_comparison(plot_maxima)
def collective_plot(altitude_to_visualizer):
# bias_of_the_mean_with_the_altitude(altitude_to_visualizer)
pass
def bias_of_the_mean_with_the_altitude(altitude_to_visualizer: Dict[int, ComparisonHistoricalVisualizer]):
visualizer = list(altitude_to_visualizer.values())[0]
altitudes = list(altitude_to_visualizer.keys())
for couple in visualizer.adamont_studies.gcm_rcm_couples:
values = [v.gcm_rcm_couple_to_bias_list_in_the_mean_maxima[couple] for v in altitude_to_visualizer.values()]
ax = plt.gca()
width = 10
positions = [i * width * 2 for i in range(len(values))]
bplot = ax.boxplot(values, positions=positions, widths=width, patch_artist=True, showmeans=True)
color = gcm_rcm_couple_to_color[couple]
for patch in bplot['boxes']:
patch.set_facecolor(color)
couple_name = ' + '.join(couple)
plot_name = 'Mean bias w.r.t to the reanalysis for {}'.format(couple_name)
ax.set_ylabel(plot_name)
ax.set_xlabel('Altitude')
ax.set_xticklabels(altitudes)
ax.set_xlim([min(positions) - width, max(positions) + width])
visualizer.plot_name = 'altitude_comparison/{}'.format(plot_name)
visualizer.show_or_save_to_file(add_classic_title=False, no_title=True, tight_layout=True)
ax.clear()
plt.close()