Matplotlib como usar o mouse wheel para mover uma timeseries horizontalmente?

Prezados Srs. Procurei en vários sites e não consegui achar: tenho um longo Eletrencefalograma que desejo mover para direita e esquerda. Ele está plotado com o uso da biblioteca MNE.
encontrei como fazer o zoom (Scroll event — Matplotlib 3.7.1 documentation), mas não é isso que quero, como disse quero rolar o plot para direita e esquerda. Criei um código que “rola” o plot mas os trechos novos estão em branco.

aqui como é plotado:

        self.fig_home = raw.plot(events=None, duration=12.0, start=scroll_position, n_channels=20, bgcolor='w', color=None,
                            bad_color=(0.8, 0.8, 0.8), event_color='cyan', remove_dc=True, order=None,
                            show_options=True, title=None, show=False, block=False, highpass=None, lowpass=None,
                            filtorder=4, clipping=1.5, show_first_samp=False, proj=True, group_by='type',
                            butterfly=False, decim='auto', noise_cov=None, event_id=None, show_scrollbars=True,
                            show_scalebars=True, verbose=None)

aqui o código que “rola” mas não atualiza o plot:

    def on_scroll(self, event):
        if event is not None and event.inaxes is not None and event.inaxes.get_navigate():
            # Check if the scroll event is horizontal
            if event.button == 'up' or event.button == 'down':
                scroll_amount = 1 if event.button == 'up' else -1  # Set scroll amount based on scroll direction
                scroll_position = self.fig_home.axes[0].get_xlim()[0]  # Get the current scroll position
                new_scroll_position = scroll_position + scroll_amount  # Move 1 unit ahead or behind
                self.fig_home.axes[0].set_xlim(new_scroll_position,
                                               new_scroll_position + 12)  # Update the x-axis limits

                canvas_widget = event.canvas
                canvas_widget.draw()  # Redraw the plot
                canvas_widget.blit(canvas_widget.copy_from_bbox(self.fig_home.bbox))  # Update the canvas

Qualquer dica é de imensa ajuda. Agradeço antecipadamente.