Diferencia entre plt.draw () y plt.show () en matplotlib

Me preguntaba por qué algunas personas ponen un plt.draw() en su código antes del plt.show() . Para mi código, el comportamiento de plt.draw() no pareció cambiar nada en la salida. Hice una búsqueda en internet pero no pude encontrar nada útil.

(asumiendo que pyplot from matplotlib import pyplot as plt )

plt.show() mostrará la figura actual en la que está trabajando.

plt.draw() volverá a dibujar la figura. Esto le permite trabajar en modo interactivo y, si ha cambiado sus datos o su formato, permita que la gráfica cambie.

El plt.draw docs estado:

Esto se usa en el modo interactivo para actualizar una figura que se ha alterado utilizando una o más llamadas de método de objeto de trazado; no es necesario si la modificación de la figura se realiza completamente con las funciones pyplot, si una secuencia de modificaciones finaliza con una función pyplot, o si matplotlib está en modo no interactivo y la secuencia de modificaciones finaliza con show () o savefig ().

Esto parece sugerir que el uso de plt.draw() antes de plt.show() cuando no esté en modo interactivo será redundante la mayor parte del tiempo. La única vez que puede necesitarlo es si está haciendo algunas modificaciones muy extrañas que no impliquen el uso de funciones de pyplot.

Consulte la sección de preguntas frecuentes de Matplotlib, ” ¿Qué es el modo interactivo? ” Para obtener más información.