Commit 0fcf42ec authored by Le Roux Erwan's avatar Le Roux Erwan
Browse files

[HYPERCUBE VISUALIZATION] improve display for the trend type & for the missing massif

parent ddefbb67
No related merge requests found
Showing with 20 additions and 9 deletions
+20 -9
...@@ -228,7 +228,7 @@ class AbstractStudy(object): ...@@ -228,7 +228,7 @@ class AbstractStudy(object):
def visualize_study(cls, ax=None, massif_name_to_value: Union[None, Dict[str, float]] = None, show=True, fill=True, def visualize_study(cls, ax=None, massif_name_to_value: Union[None, Dict[str, float]] = None, show=True, fill=True,
replace_blue_by_white=True, replace_blue_by_white=True,
label=None, add_text=False, cmap=None, vmax=100, vmin=0, label=None, add_text=False, cmap=None, vmax=100, vmin=0,
default_color_for_missing_massif='w', default_color_for_missing_massif='grey',
default_color_for_nan_values='w', default_color_for_nan_values='w',
massif_name_to_color=None, massif_name_to_color=None,
show_label=True, show_label=True,
......
...@@ -282,10 +282,12 @@ class AltitudeHypercubeVisualizer(AbstractHypercubeVisualizer): ...@@ -282,10 +282,12 @@ class AltitudeHypercubeVisualizer(AbstractHypercubeVisualizer):
massif_to_year = {} massif_to_year = {}
poster_trend_types = [AbstractUnivariateTest.SIGNIFICATIVE_POSITIVE_TREND, poster_trend_types = [AbstractUnivariateTest.SIGNIFICATIVE_POSITIVE_TREND,
AbstractUnivariateTest.SIGNIFICATIVE_NEGATIVE_TREND, AbstractUnivariateTest.SIGNIFICATIVE_NEGATIVE_TREND,
AbstractUnivariateTest.NON_SIGNIFICATIVE_TREND][:2] AbstractUnivariateTest.NEGATIVE_TREND,
AbstractUnivariateTest.POSITIVE_TREND,
][:]
for display_trend_type, style in self.display_trend_type_to_style.items(): for display_trend_type, style in self.display_trend_type_to_style.items():
if display_trend_type in poster_trend_types: if display_trend_type in poster_trend_types:
color = style[:1] color = style[:-1]
serie = trend_type_to_serie[display_trend_type] serie = trend_type_to_serie[display_trend_type]
massif_to_color_for_trend_type = {k: color for k, v in dict(serie).items() if not np.isnan(v)} massif_to_color_for_trend_type = {k: color for k, v in dict(serie).items() if not np.isnan(v)}
massif_to_color.update(massif_to_color_for_trend_type) massif_to_color.update(massif_to_color_for_trend_type)
......
...@@ -30,7 +30,7 @@ def get_fast_altitude_visualizer(altitude_hypercube_class): ...@@ -30,7 +30,7 @@ def get_fast_altitude_visualizer(altitude_hypercube_class):
return visualizer return visualizer
def main_fast_spatial_repartition(): def main_fast_old_spatial_repartition():
# Simply the main graph # Simply the main graph
get_fast_altitude_visualizer(Altitude_Hypercube_Year_Visualizer).visualize_massif_trend_test_one_altitude() get_fast_altitude_visualizer(Altitude_Hypercube_Year_Visualizer).visualize_massif_trend_test_one_altitude()
...@@ -51,19 +51,27 @@ def get_full_altitude_visualizer(altitude_hypercube_class, exact_starting_year=N ...@@ -51,19 +51,27 @@ def get_full_altitude_visualizer(altitude_hypercube_class, exact_starting_year=N
FULL_ALTITUDES = [900, 1500, 2100, 2700] FULL_ALTITUDES = [900, 1500, 2100, 2700]
def main_fast_spatial_repartition():
for altitude in FULL_ALTITUDES[-1:]:
vizualiser = get_full_altitude_visualizer(Altitude_Hypercube_Year_Visualizer, altitude=altitude,
exact_starting_year=1958)
vizualiser.visualize_massif_trend_test_one_altitude()
def main_full_spatial_repartition(): def main_full_spatial_repartition():
for altitude in FULL_ALTITUDES[:]: for altitude in FULL_ALTITUDES[:]:
# Compute for the most likely starting year # Compute for the most likely starting year
vizualiser = get_full_altitude_visualizer(Altitude_Hypercube_Year_Visualizer, altitude=altitude) vizualiser = get_full_altitude_visualizer(Altitude_Hypercube_Year_Visualizer, altitude=altitude)
vizualiser.visualize_massif_trend_test_one_altitude() vizualiser.visualize_massif_trend_test_one_altitude()
# Compute the trend for a linear trend # Compute the trend for a linear trend
vizualiser = get_full_altitude_visualizer(Altitude_Hypercube_Year_Visualizer, altitude=altitude, exact_starting_year=1958) vizualiser = get_full_altitude_visualizer(Altitude_Hypercube_Year_Visualizer, altitude=altitude,
exact_starting_year=1958)
vizualiser.visualize_massif_trend_test_one_altitude() vizualiser.visualize_massif_trend_test_one_altitude()
def main_run(): def main_run():
main_full_spatial_repartition() # main_full_spatial_repartition()
# main_fast_spatial_repartition() main_fast_spatial_repartition()
if __name__ == '__main__': if __name__ == '__main__':
......
...@@ -56,8 +56,8 @@ class AbstractUnivariateTest(object): ...@@ -56,8 +56,8 @@ class AbstractUnivariateTest(object):
@classmethod @classmethod
def display_trend_type_to_style(cls): def display_trend_type_to_style(cls):
d = OrderedDict() d = OrderedDict()
# d[cls.POSITIVE_TREND] = 'g--' d[cls.POSITIVE_TREND] = 'lightgreen-'
# d[cls.NEGATIVE_TREND] = 'r--' d[cls.NEGATIVE_TREND] = 'lightcoral-'
d[cls.ALL_TREND] = 'k-' d[cls.ALL_TREND] = 'k-'
d[cls.NON_SIGNIFICATIVE_TREND] = 'b-' d[cls.NON_SIGNIFICATIVE_TREND] = 'b-'
# d[cls.SIGNIFICATIVE_ALL_TREND] = 'k-' # d[cls.SIGNIFICATIVE_ALL_TREND] = 'k-'
...@@ -66,6 +66,7 @@ class AbstractUnivariateTest(object): ...@@ -66,6 +66,7 @@ class AbstractUnivariateTest(object):
# d[cls.NO_TREND] = 'k--' # d[cls.NO_TREND] = 'k--'
return d return d
@classmethod @classmethod
def get_display_trend_type(cls, real_trend_type): def get_display_trend_type(cls, real_trend_type):
if cls.SIGNIFICATIVE in real_trend_type: if cls.SIGNIFICATIVE in real_trend_type:
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment