diff --git a/mlair/plotting/data_insight_plotting.py b/mlair/plotting/data_insight_plotting.py index 95b482df3c2dd6d04d8b3029a2f9091d551d2829..c0e014fb18d1cd98b945d04e6407dd1cd2b281ca 100644 --- a/mlair/plotting/data_insight_plotting.py +++ b/mlair/plotting/data_insight_plotting.py @@ -17,7 +17,7 @@ from matplotlib import lines as mlines, pyplot as plt, patches as mpatches, date from astropy.timeseries import LombScargle from mlair.data_handler import DataCollection -from mlair.helpers import TimeTrackingWrapper, to_list +from mlair.helpers import TimeTrackingWrapper, to_list, remove_items from mlair.plotting.abstract_plot_class import AbstractPlotClass @@ -829,9 +829,13 @@ class PlotPeriodogram(AbstractPlotClass): # pragma: no cover plt.close('all') -def f_proc(var, d_var, f_index): # pragma: no cover +def f_proc(var, d_var, f_index, time_dim="datetime"): # pragma: no cover var_str = str(var) - t = (d_var.datetime - d_var.datetime[0]).astype("timedelta64[h]").values / np.timedelta64(1, "D") + t = (d_var[time_dim] - d_var[time_dim][0]).astype("timedelta64[h]").values / np.timedelta64(1, "D") + if len(d_var.shape) > 1: # use only max value if dimensions are remaining (e.g. max(window) -> latest value) + to_remove = remove_items(d_var.coords.dims, time_dim) + for e in to_list(to_remove): + d_var = d_var.sel({e: d_var[e].max()}) pgram = LombScargle(t, d_var.values.flatten(), nterms=1, normalization="psd").power(f_index) # f, pgram = LombScargle(t, d_var.values.flatten(), nterms=1, normalization="psd").autopower() return var_str, f_index, pgram diff --git a/test/test_configuration/test_defaults.py b/test/test_configuration/test_defaults.py index 16606d8f72c36b0d7eee852ef233b4373436e2f8..b6bdd9556f73ff711003b01c3a2b65a1c20c66d3 100644 --- a/test/test_configuration/test_defaults.py +++ b/test/test_configuration/test_defaults.py @@ -68,4 +68,4 @@ class TestAllDefaults: assert DEFAULT_PLOT_LIST == ["PlotMonthlySummary", "PlotStationMap", "PlotClimatologicalSkillScore", "PlotTimeSeries", "PlotCompetitiveSkillScore", "PlotBootstrapSkillScore", "PlotConditionalQuantiles", "PlotAvailability", "PlotAvailabilityHistogram", - "PlotDataHistogram"] + "PlotDataHistogram", "PlotPeriodogram"]