Matplotlib ion () y subprocesos

Estoy intentando que aparezca un gráfico para que el usuario pueda confirmar que un ajuste funcionó, pero no puede colgar todo el proceso haciéndolo. Sin embargo, mientras aparece la ventana, nunca hay nada en ella, y es "No responde". Sospecho que hay una mala interacción con la funcionalidad del subproceso, ya que este código es front-end y el procesamiento de datos para una simulación se está ejecutando en C ++.

import subprocess
import numpy as np
from matplotlib import pyplot as mpl
...
mpl.ion()
fig = mpl.figure()
ax = fig.add_subplot(1,1,1)
ax.grid(True)
ax.plot(x, y, 'g')
ax.scatter(X, Y, c='b')
ax.scatter(min_tilt, min_energy, c='r')
mpl.draw()
...
subprocess.call(prog)

El siguiente subproceso se abre. Si quito elion() llamar y usarmpl.show(), entonces la trama funciona bien, pero todo el proceso se mantiene hasta que se cierra la ventana. Necesito el proceso para continuar mientras el usuario mira el gráfico. ¿Hay alguna forma de hacer esto?

Respuestas a la pregunta(2)

Su respuesta a la pregunta