diff --git a/mlair/plotting/data_insight_plotting.py b/mlair/plotting/data_insight_plotting.py
index 1176621a71f09e6efff4ac21a69e4f466e6dfbd4..4e7a1db3f0006321d3309875dd56699dbe361d3d 100644
--- a/mlair/plotting/data_insight_plotting.py
+++ b/mlair/plotting/data_insight_plotting.py
@@ -515,9 +515,9 @@ class PlotPeriodogram(AbstractPlotClass):  # pragma: no cover
             plot_data_single = dict()
             plot_data_raw_single = dict()
             plot_data_mean_single = dict()
+            self.f_index = np.logspace(-3, 0 if self._sampling == "daily" else np.log10(24), 1000)
             raw_data_single = self._prepare_pgram_parallel_gen(generator, m, pos, use_multiprocessing)
             # raw_data_single = self._prepare_pgram_parallel_var(generator, m, pos, use_multiprocessing)
-            self.f_index = np.logspace(-3, 0 if self._sampling == "daily" else np.log10(24), 1000)
             for var in raw_data_single.keys():
                 pgram_com = []
                 pgram_mean = 0
@@ -577,14 +577,14 @@ class PlotPeriodogram(AbstractPlotClass):  # pragma: no cover
             pool = multiprocessing.Pool(
                 min([psutil.cpu_count(logical=False), len(generator), 16]))  # use only physical cpus
             output = [
-                pool.apply_async(f_proc_2, args=(g, m, pos, self.variables_dim, self.time_dim))
+                pool.apply_async(f_proc_2, args=(g, m, pos, self.variables_dim, self.time_dim, self.f_index))
                 for g in generator]
             for i, p in enumerate(output):
                 res.append(p.get())
             pool.close()
         else:
             for g in generator:
-                res.append(f_proc_2(g, m, pos, self.variables_dim, self.time_dim))
+                res.append(f_proc_2(g, m, pos, self.variables_dim, self.time_dim, self.f_index))
         for res_dict in res:
             for k, v in res_dict.items():
                 if k not in raw_data_single.keys():
@@ -607,7 +607,7 @@ class PlotPeriodogram(AbstractPlotClass):  # pragma: no cover
         """
         ax.set_yscale('log')
         ax.set_xscale('log')
-        ax.set_ylabel("power", fontsize='x-large')
+        ax.set_ylabel("power spectral density", fontsize='x-large')  # unit depends on variable: [unit^2 day^-1]
         ax.set_xlabel("frequency $[day^{-1}$]", fontsize='x-large')
         lims = ax.get_ylim()
         self._add_annotation_line(ax, [1, 2, 3], 365.25, lims, "yr")  # per year
@@ -698,14 +698,15 @@ class PlotPeriodogram(AbstractPlotClass):  # pragma: no cover
         plt.close('all')
 
 
-def f_proc(var, d_var):
+def f_proc(var, d_var, f_index):
     var_str = str(var)
     t = (d_var.datetime - d_var.datetime[0]).astype("timedelta64[h]").values / np.timedelta64(1, "D")
-    f, pgram = LombScargle(t, d_var.values.flatten(), nterms=1).autopower()
-    return var_str, f, pgram
+    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
 
 
-def f_proc_2(g, m, pos, variables_dim, time_dim):
+def f_proc_2(g, m, pos, variables_dim, time_dim, f_index):
     raw_data_single = dict()
     if m == 0:
         d = g.id_class._data
@@ -716,6 +717,6 @@ def f_proc_2(g, m, pos, variables_dim, time_dim):
     d = d[pos] if isinstance(d, tuple) else d
     for var in d[variables_dim].values:
         d_var = d.loc[{variables_dim: var}].squeeze().dropna(time_dim)
-        var_str, f, pgram = f_proc(var, d_var)
+        var_str, f, pgram = f_proc(var, d_var, f_index)
         raw_data_single[var_str] = [(f, pgram)]
     return raw_data_single