diff --git a/experiment/eurocode_data/eurocode_drawing.py b/experiment/eurocode_data/eurocode_drawing.py
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/experiment/eurocode_data/eurocode_region.py b/experiment/eurocode_data/eurocode_region.py
index 37c5c95e5e3d65277d116960c3c87e49d9186454..7dfdeb5f1d7d052dca737e2657b75cae1ab7f93d 100644
--- a/experiment/eurocode_data/eurocode_region.py
+++ b/experiment/eurocode_data/eurocode_region.py
@@ -1,4 +1,5 @@
 from experiment.eurocode_data.utils import LAST_YEAR_FOR_EUROCODE
+from root_utils import classproperty
 
 
 class AbstractEurocodeRegion(object):
@@ -43,11 +44,13 @@ class AbstractEurocodeRegion(object):
     def lois_de_variation_1000_and_2000(self):
         return 3.5, -2.45
 
-    def plot_max_loading(self, ax, altitudes):
-        # old_label = 'Eurocode computed in {}'.format(LAST_YEAR_FOR_EUROCODE)
-        new_label = 'Eurocode standards'
+    def plot_max_loading(self, ax, altitudes, label='Eurocode standards'):
         ax.plot(altitudes, [self.eurocode_max_loading(altitude) for altitude in altitudes],
-                label=new_label, color='k')
+                label=label, color=self.eurocode_color, linewidth=5)
+
+    @classproperty
+    def eurocode_color(self):
+        raise NotImplementedError
 
 
 class C1(AbstractEurocodeRegion):
@@ -55,12 +58,20 @@ class C1(AbstractEurocodeRegion):
     def __init__(self) -> None:
         super().__init__(0.65, None)
 
+    @classproperty
+    def eurocode_color(self):
+        return 'gold'
+
 
 class C2(AbstractEurocodeRegion):
 
     def __init__(self) -> None:
         super().__init__(0.65, 1.35)
 
+    @classproperty
+    def eurocode_color(self):
+        return 'orange'
+
 
 class E(AbstractEurocodeRegion):
 
@@ -78,3 +89,9 @@ class E(AbstractEurocodeRegion):
     @property
     def lois_de_variation_1000_and_2000(self):
         return 7, -4.80
+
+    @classproperty
+    def eurocode_color(self):
+        return 'mediumvioletred'
+
+
diff --git a/experiment/eurocode_data/slide_plot.py b/experiment/eurocode_data/slide_plot.py
deleted file mode 100644
index e46e0f2f380133c4f194331700227b75ad508b82..0000000000000000000000000000000000000000
--- a/experiment/eurocode_data/slide_plot.py
+++ /dev/null
@@ -1,18 +0,0 @@
-import matplotlib.pyplot as plt
-import numpy as np
-
-from experiment.eurocode_data.eurocode_region import C2, E
-from root_utils import get_display_name_from_object_type
-
-if __name__ == '__main__':
-    ax = plt.gca()
-    altitudes = np.linspace(200, 2000)
-    for region_class in [C2, E][1:]:
-        region_object = region_class()
-        region_object.plot_max_loading(ax, altitudes)
-        # ax.set_title(get_display_name_from_object_type(region_object) + ' Eurocodes region')
-        ax.set_ylabel('50-year return level (kN $m^-2$)')
-        ax.set_xlabel('Altitude (m)')
-        ax.set_ylim([0.0, 11.0])
-        ax.grid()
-        plt.show()
\ No newline at end of file
diff --git a/experiment/paper_past_snow_loads/data/main_eurocode_plot.py b/experiment/paper_past_snow_loads/data/main_eurocode_plot.py
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..4cd94ebf2315b4c85b0259d4ebfbe55bc7068d7a 100644
--- a/experiment/paper_past_snow_loads/data/main_eurocode_plot.py
+++ b/experiment/paper_past_snow_loads/data/main_eurocode_plot.py
@@ -0,0 +1,38 @@
+import matplotlib.pyplot as plt
+import numpy as np
+
+from experiment.eurocode_data.eurocode_region import C2, E, C1
+from experiment.eurocode_data.massif_name_to_departement import massif_name_to_eurocode_region
+from experiment.meteo_france_data.scm_models_data.abstract_study import AbstractStudy
+from root_utils import get_display_name_from_object_type
+
+
+def main_eurocode_norms(ax=None):
+    if ax is None:
+        ax = plt.gca()
+        altitudes = np.linspace(200, 2000)
+        for region_class in [C1, C2, E][:]:
+            region_object = region_class()
+            label = get_display_name_from_object_type(region_class) + ' Eurocode region'
+            region_object.plot_max_loading(ax, altitudes, label=label)
+            if region_class == E:
+                ax.legend()
+                ax.xaxis.set_ticks([250 * i for i in range(1, 9)])
+                ax.tick_params(axis='both', which='major', labelsize=13)
+                ax.set_ylabel('50-year return level (kN $m^-2$)')
+                ax.set_xlabel('Altitude (m)')
+                ax.set_ylim([0.0, 11.0])
+                ax.grid()
+                plt.show()
+
+
+def main_eurocode_map(ax=None):
+    if ax is None:
+        ax = plt.gca()
+        massif_name_to_color = {m: r.eurocode_color for m, r in massif_name_to_eurocode_region.items()}
+        AbstractStudy.visualize_study(ax, massif_name_to_color=massif_name_to_color, scaled=True)
+
+
+if __name__ == '__main__':
+    # main_eurocode_norms()
+    main_eurocode_map()