|
2 | 2 | from itertools import product |
3 | 3 | from socket import AF_INET, SOCK_DGRAM, socket |
4 | 4 | from struct import unpack |
| 5 | +from typing import Optional |
5 | 6 |
|
6 | 7 | import matplotlib.pyplot as plt |
7 | 8 | import numpy as np |
|
18 | 19 | titles = [["x", "rx"], ["y", "ry"], ["z", "rz"]] |
19 | 20 | colors = [["r", "r"], ["b", "b"], ["g", "g"]] |
20 | 21 | buffers: list[list[deque]] = [[deque(maxlen=buffsize) for j in range(2)] for i in range(3)] |
21 | | -plots: list[list[plt.Figure]] = [[None for j in range(2)] for i in range(3)] |
| 22 | +plots: list[list[Optional[plt.Figure]]] = [[None for j in range(2)] for i in range(3)] |
22 | 23 |
|
23 | 24 | fig, axs = plt.subplots(3, 2) |
24 | 25 | for i, j in product(range(3), range(2)): |
|
56 | 57 |
|
57 | 58 | for i, j in product(range(3), range(2)): |
58 | 59 | buffer = buffers[i][j] |
59 | | - plots[i][j].set_xdata(np.arange(len(buffer))) |
60 | | - plots[i][j].set_ydata(buffer) |
| 60 | + # mypy fails to coerce type after assert so we just ignore |
| 61 | + plots[i][j].set_xdata(np.arange(len(buffer))) # type: ignore |
| 62 | + plots[i][j].set_ydata(buffer) # type: ignore |
61 | 63 | axs[i][j].relim() |
62 | 64 | axs[i][j].autoscale_view() |
63 | 65 | axs[i][j].set_title(titles[i][j] + ": {:.2f}".format(buffer[-1])) |
|
0 commit comments