#!/usr/bin/env python3 import sys from pathlib import Path # Add import path for inplace usage sys.path.insert(0, str(Path(__file__).absolute().parents[1])) from frappy.client.interactive import Client import numpy as np import matplotlib.pyplot as plt from frappy.iqplot import Pause Client('pc13252:5000') def plot(array, ax, style, xs): xaxis = np.arange(len(array)) * xs return ax.plot(xaxis, array, style)[0] def update(array, line, xs): xaxis = np.arange(len(array)) * xs line.set_data(np.array([xaxis, array])) def on_close(event): sys.exit(0) # inp_signal.read() # out_signal.read() if len(sys.argv) < 2: print(""" Usage: python3 sig.py [ []] end: end of window [ns] start: start of window [n2], default: 0 npoints: number fo points (default 1000) """) else: start = 0 end = float(sys.argv[1]) npoints = 1000 if len(sys.argv) > 2: start = float(sys.argv[2]) if len(sys.argv) > 3: npoints = float(sys.argv[3]) fig, ax = plt.subplots(figsize=(15,3)) pause = Pause(fig) try: get_signal = iq.get_signal print('plotting RUS signal') except NameError: get_signal = u.get_signal print('plotting PE signal') xs, signal = get_signal(start, end, npoints) lines = [plot(s, ax, '-', xs) for s in signal] while pause(0.5): plt.draw() xs, signal = get_signal(start, end, npoints) for line, sig in zip(lines, signal): update(sig, line, xs)