From 14a457039b0a490cfe1a7396f116d44c54b9aa55 Mon Sep 17 00:00:00 2001 From: Philipp Niedermayer <p.niedermayer@gsi.de> Date: Mon, 15 Aug 2022 17:51:42 +0200 Subject: [PATCH] Add plot options for tbt --- plotting.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/plotting.py b/plotting.py index 45782de..b2313e6 100644 --- a/plotting.py +++ b/plotting.py @@ -275,7 +275,7 @@ def turn_or_time_range(time, turn_range=None, time_range=None): return slice(*turn_range) -def plot_tbt(ax, libera_data, what='fsxy', *, over_time=True, turn_range=None, time_range=None): +def plot_tbt(ax, libera_data, what='fsxy', *, over_time=True, turn_range=None, time_range=None, averaging=500, **kwargs): """Plot turn-by-turn data :param libera_data: instance of LiberaTBTData @@ -283,6 +283,7 @@ def plot_tbt(ax, libera_data, what='fsxy', *, over_time=True, turn_range=None, t :param over_time: if True, plot data as function of time rather than turn :param turn_range: (start, stop) tuple of turns to plot :param time_range: (start, stop) tuple of time in s to plot + :param averaging: number of consecutive turns to average over """ assert isinstance(libera_data, LiberaTBTData), f'Expected LiberaTBTData but got {type(libera_data)}' @@ -306,8 +307,11 @@ def plot_tbt(ax, libera_data, what='fsxy', *, over_time=True, turn_range=None, t v = 1e-3/np.diff(t) # to kHz else: v = getattr(libera_data, w)[turn_range] - - l, = a.plot(*avg(x[:len(v)], v, n=500), c=dict(f=cmap_petroff_10(1), s=cmap_petroff_10(3), x=cmap_petroff_10(0), y=cmap_petroff_10(2))[w]) + + args = dict(**kwargs) + if 'c' not in args and 'color' not in args: + args['c'] = dict(f=cmap_petroff_10(1), s=cmap_petroff_10(3), x=cmap_petroff_10(0), y=cmap_petroff_10(2))[w] + l, = a.plot(*avg(x[:len(v)], v, n=averaging), **args) ls.append(l) labels.append(dict(f='Revolution frequency', s='Pickup sum signal', x='X position', y='Y position')[w]) -- GitLab