No logro obtener mi gráfica en tiempo real con Arduino y Python [OFF TOPIC]

Buen día a todos,

Estoy trabajando en un proyecto de Biomédica, estoy trabajando con dos Arduino nano y 2 sensores MPU6050, un arduino va con un sensor mpu y se comunica por bluetooth al otro arduino y sensor mpu. Estoy leyendo ángulos (X1, Y1; X2, Y2) como resultado de la aplicación de un filtro complemento a los datos que se obtienen de los acelerómetros y giroscopios. Necesito realizar graficas de estos 4 ángulos, pero en el código de Python (version 3.8.5) para realizar la lectura de datos y gráfica no obtengo ningún error, salen las gráficas pero no plotea ningún dato.

Este es un ejemplo de cómo se estan leyendo los datos del Arduino en el Python:
[-0.48, -0.02, 1.49, -9.29]
<class 'float'>
[-0.48, -0.03, 1.49, -9.31]
<class 'float'>
[-0.49, -0.02, 1.49, -9.32]
<class 'float'>
[-0.49, 0.0, 1.5, -9.31]
<class 'float'>
[2.0, 2.0, 1.5, -9.31]
<class 'float'>
[-0.49, -0.02, 1.5, -9.33]
<class 'float'>
[-0.49, -0.02, 1.51, -9.32]
<class 'float'>
[-0.5, -0.01, 1.5, -9.31]
<class 'float'>

Este es mi código de Python:

import serial
import time
import collections
import matplotlib.pyplot as plt
import matplotlib.animation as animation
from matplotlib.lines import Line2D
import numpy as np

Samples = 100  #Muestras / Samples
sampleTime = 100  #Tiempo de muestreo / Sample Time
numData = 4

serialPort = 'COM8' # Puerto serial arduino / Arduino serial port
baudRate = 9600  # Baudios

serial.Serial()
def getSerialData(self,Samples,numData,serialConnection, lines):
    while True:
        with serial.Serial('COM8',9600) as ser:
            while True:
                lista =str(ser.readline()).strip("b'")
                lista = lista.strip("\\r\\n'")
                data = lista.split()
                for i in range(numData):
                    data[i].encode("utf-8").decode("unicode-escape").encode("latin1")
                    value = float(data[i])        #array con datos tipo float
                    data[i].append(value) #Guarda lectura en la ultima posicion / #Save reading in the end position
                    lines[i].set_data(range(Samples),data[i]) # Dibujar nueva linea / Drawn new line

try:
  serialConnection = serial.Serial(serialPort, baudRate) # Instanciar objeto Serial / Instance Serial Object
except:
  print('Cannot conect to the port')

# Limites de los ejes / Axis limit
xmin = 0
xmax = Samples
ymin = [-100, -100 , -100 , -100]
ymax = [100, 100 , 100 , 100]
lines = []
data = []

for i in range(numData):
    data.append(collections.deque([0] * Samples, maxlen=Samples)) #Lista donde se almacena las variables del sensor
    lines.append(Line2D([], [], color='blue'))                    #Lineas en 2D para graficar los datos
  
fig = plt.figure()# Crea una nueva figura #Create a new figure.
ax1 = fig.add_subplot(2, 2, 1,xlim=(xmin, xmax), ylim=(ymin[0] , ymax[0]))
ax1.title.set_text('Sensor 1 - X')
ax1.set_xlabel("Samples")
ax1.set_ylabel("Degrees")
ax1.add_line(lines[0])

ax2 = fig.add_subplot(2, 2, 2,xlim=(xmin, xmax), ylim=(ymin[1] , ymax[1]))
ax2.title.set_text('Sensor 1 - Y')
ax2.set_xlabel("Samples")
ax2.set_ylabel("Degrees")
ax2.add_line(lines[1])

ax3 = fig.add_subplot(2, 2, 3,xlim=(xmin, xmax), ylim=(ymin[2] , ymax[2]))
ax3.title.set_text('Sensor 2 - X')
ax3.set_xlabel("Samples")
ax3.set_ylabel("Degrees")
ax3.add_line(lines[2])

ax4 = fig.add_subplot(2, 2, 4,xlim=(xmin, xmax), ylim=(ymin[3] , ymax[3]))
ax4.title.set_text('Sensor 2 - Y')
ax4.set_xlabel("Samples")
ax4.set_ylabel("Degrees")
ax4.add_line(lines[3])


    
anim = animation.FuncAnimation(fig,getSerialData, fargs=(Samples,numData,serialConnection,lines), interval=sampleTime)
plt.show()

serialConnection.close() # cerrar puerto serial/ close serial port

La gráfica sale, pero no plotea ningún dato de los que lee, no se cuál sea el problema. Soy nuevo en el manejo de Arduino y Python y llevo ya algunas semanas haciendo este proyecto desde cero y aprendiendo al mismo tiempo. Si alguien me puede ayudar se lo agradeceré eternamente ya que la gráfica en tiempo real es lo último que necesito hacer.

Muchas gracias por su atención.

Saludos, la verdad es que no puedo probar tu código si no tengo los arduinos, aunque en el código sólo veo 1

Pytónicamente hablando, el código no está todo lo correcto que debería, la línea 34 y 36 no están tabulados a 4 espacios, algo que puede ponerse muy pesado el intérprete

Es casi seguro que el problema es la librería "matplotlib" y el manejo de la misma, haz debug a partir de la línea 50, te recomiendo VSC y activar el debug con los Raised activados.

Por cierto, el código tiene 48 errores de flake8, que tambíen ayuda