diff --git a/src/graficar.py b/src/graficar.py index eec5426..0ac0715 100644 --- a/src/graficar.py +++ b/src/graficar.py @@ -7,19 +7,24 @@ from pyqtgraph.Qt import QtCore def graficar(cola_clean, cola_filtrada, cola_buffer_size): app = QtWidgets.QApplication([]) win = pg.GraphicsLayoutWidget(show=True, title="Monitor de Señal") - p1 = win.addPlot(title="Señal Cruda y Filtrada (Bloques de 1s)") - p1.addLegend() - curve1 = p1.plot(pen=pg.mkPen("r", width=1), name="Cruda") - curve2 = p1.plot(pen=pg.mkPen("b", width=2), name="Filtrada") + # Gráfica 1: Señal Cruda (Arriba) + p1 = win.addPlot(title="Señal Cruda", row=0, col=0) + curve1 = p1.plot(pen=pg.mkPen("r", width=1.5)) + + # Gráfica 2: Señal Filtrada (Abajo) + p2 = win.addPlot(title="Señal Filtrada", row=1, col=0) + curve2 = p2.plot(pen=pg.mkPen("b", width=1.5)) + + # Sincronizar el eje X para que el zoom afecte a ambas + p2.setXLink(p1) def update(): - # Vaciamos la cola de tamaño por si llega, - # aunque ya no necesitamos inicializar arreglos vacíos. + # Vaciamos la cola de tamaño (ya no se usa aquí pero evitamos que se estanque) while not cola_buffer_size.empty(): cola_buffer_size.get() - # Extraemos el último bloque de 1s de la señal cruda + # Extraemos y dibujamos el bloque de la señal cruda actualizar_cruda = False datos_crudos = None while not cola_clean.empty(): @@ -29,7 +34,7 @@ def graficar(cola_clean, cola_filtrada, cola_buffer_size): if actualizar_cruda and datos_crudos is not None: curve1.setData(datos_crudos) - # Extraemos el último bloque de 1s de la señal filtrada + # Extraemos y dibujamos el bloque de la señal filtrada actualizar_filtrada = False datos_filtrados = None while not cola_filtrada.empty(): @@ -41,6 +46,6 @@ def graficar(cola_clean, cola_filtrada, cola_buffer_size): timer = QtCore.QTimer() timer.timeout.connect(update) - timer.start(50) # Revisa la cola cada 50ms, pero la gráfica cambiará cada 1s + timer.start(50) app.exec_()