diff --git a/experiment/meteo_france_data/visualization/hypercube_visualization/altitude_hypercube_visualizer.py b/experiment/meteo_france_data/visualization/hypercube_visualization/altitude_hypercube_visualizer.py index 983639a9e1101a717fd458e7262f39bdd703a3c7..d263c25d6dec87b637d2f4f5890df1aebf762288 100644 --- a/experiment/meteo_france_data/visualization/hypercube_visualization/altitude_hypercube_visualizer.py +++ b/experiment/meteo_france_data/visualization/hypercube_visualization/altitude_hypercube_visualizer.py @@ -48,8 +48,8 @@ class AltitudeHypercubeVisualizer(AbstractHypercubeVisualizer): return series, df_bool def subtitle_to_reduction_function(self, reduction_function, level=None, add_detailed_plot=False, subtitle=None): - def reduction_function_with_level(df_bool): - return reduction_function(df_bool) if level is None else reduction_function(df_bool, level) + def reduction_function_with_level(df_bool, **kwargs): + return reduction_function(df_bool, **kwargs) if level is None else reduction_function(df_bool, level, **kwargs) if subtitle is None: subtitle = self.study.variable_name @@ -136,7 +136,7 @@ class AltitudeHypercubeVisualizer(AbstractHypercubeVisualizer): return 1 def visualize_year_trend_test(self, axes=None, marker='o', add_detailed_plots=False): - def year_reduction(df): + def year_reduction(df, **kwargs): # Take the mean with respect to all the first axis indices return df.mean(axis=0) diff --git a/experiment/meteo_france_data/visualization/hypercube_visualization/altitude_year_hypercube_visualizer.py b/experiment/meteo_france_data/visualization/hypercube_visualization/altitude_year_hypercube_visualizer.py index 0f058abad91e8204f5466f9108dd3deec01d9c80..3f092f83b4445e8a68e2c767b6e838c5dc0b271c 100644 --- a/experiment/meteo_france_data/visualization/hypercube_visualization/altitude_year_hypercube_visualizer.py +++ b/experiment/meteo_france_data/visualization/hypercube_visualization/altitude_year_hypercube_visualizer.py @@ -16,9 +16,13 @@ class Altitude_Hypercube_Year_Visualizer(AltitudeHypercubeVisualizer): return super().nb_axes + 1 @staticmethod - def index_reduction(df, level): + def index_reduction(df, level, **kwargs): + replace_zero_with_nan = kwargs.get('replace_zero_with_nan') # Take the sum with respect to the years, replace any missing data with np.nan - df = df.sum(axis=1).replace(0.0, np.nan) + if replace_zero_with_nan: + df = df.sum(axis=1).replace(0.0, np.nan) + else: + df = df.sum(axis=1) # Take the mean with respect to the level of interest return df.mean(level=level) @@ -28,6 +32,6 @@ class Altitude_Hypercube_Year_Visualizer(AltitudeHypercubeVisualizer): df = df_bool.copy() df = (df * df.columns)[df_bool] # Reduce and append - serie = reduction_function(df) + serie = reduction_function(df, replace_zero_with_nan=True) series.append(serie) return series, df_bool diff --git a/experiment/meteo_france_data/visualization/hypercube_visualization/main_hypercube_visualization.py b/experiment/meteo_france_data/visualization/hypercube_visualization/main_hypercube_visualization.py index 6df7f7e63e58564960be94910027695b39759d0f..1437e9a47e365e4302847e3400f2ad4dc01f9654 100644 --- a/experiment/meteo_france_data/visualization/hypercube_visualization/main_hypercube_visualization.py +++ b/experiment/meteo_france_data/visualization/hypercube_visualization/main_hypercube_visualization.py @@ -76,8 +76,8 @@ def fast_altitude_hypercube(): def fast_altitude_year_hypercube(): save_to_file = False only_first_one = False - fast = True - altitudes = ALL_ALTITUDES[2:4] + nb_data_reduced_for_speed = True + altitudes = [ALL_ALTITUDES[3], ALL_ALTITUDES[-7]] for study_class in SCM_STUDIES[:1]: for trend_test_class in [GevLocationChangePointTest, GevScaleChangePointTest, GevShapeChangePointTest][:1]: visualizers = [StudyVisualizer(study, temporal_non_stationarity=True, verbose=False, multiprocessing=True) @@ -85,10 +85,10 @@ def fast_altitude_year_hypercube(): altitudes=altitudes)] altitude_to_visualizer = OrderedDict(zip(altitudes, visualizers)) visualizer = Altitude_Hypercube_Year_Visualizer(altitude_to_visualizer, save_to_file=save_to_file, - trend_test_class=trend_test_class, fast=fast) + trend_test_class=trend_test_class, nb_data_reduced_for_speed=nb_data_reduced_for_speed) visualizer.visualize_year_trend_test() - # visualizer.visualize_massif_trend_test() - # visualizer.visualize_altitude_trend_test() + visualizer.visualize_massif_trend_test() + visualizer.visualize_altitude_trend_test() def full_altitude_year_hypercube(): @@ -134,8 +134,8 @@ def fast_quantity_altitude_hypercube(): def main_run(): # fast_altitude_hypercube() - # fast_altitude_year_hypercube() - full_altitude_year_hypercube() + fast_altitude_year_hypercube() + # full_altitude_year_hypercube() # fast_quantity_altitude_hypercube() # full_quantity_altitude_hypercube()