Cambiar icono en una ventana de figura de Matplotlib

¿Es posible cambiar el ícono de una ventana de figura de Matplotlibe? Mi aplicación tiene un botón que abre una ventana de Figura con un gráfico (creado con Matplotlib). Logré modificar el ícono de la aplicación, pero la ventana de la figura aún tiene el ícono ‘Tk’, típico de Tkinter.

Lo resolví de esta manera: ANTES de presionar el botón que crea la figura con imshow() y show() , inicializo la figura de esta manera:

 plt.Figure() thismanager = get_current_fig_manager() thismanager.window.wm_iconbitmap("icon.ico") 

así que cuando presiono show() la ventana tiene el ícono que quiero.

Para mí la respuesta anterior no funcionó, más bien se requirió lo siguiente:

 from Tkinter import PhotoImage import matplotlib thismanager = matplotlib.pyplot.get_current_fig_manager() img = PhotoImage(file='filename.ppm') thismanager.window.tk.call('wm', 'iconphoto', thismanager.window._w, img) 

Si está utilizando el backend Qt4Agg, el siguiente código puede ayudarlo:

 thismanager = plt.get_current_fig_manager() from PyQt4 import QtGui thismanager.window.setWindowIcon(QtGui.QIcon((os.path.join('res','shepherd.png')))) 

Simplemente agregando esto aquí, ahora que el backend Qt5Agg ha hecho su camino hacia la stream principal. Es similar (más o menos lo mismo) al backend Qt4Agg como se indica en la respuesta de Sijie Chen .

 import os import matplotlib.pyplot as plt from PyQt5 import QtGui # Whatever string that leads to the directory of the icon including its name PATH_TO_ICON = os.path.dirname(__file__) + '/static/icons/icon.ico' plt.get_current_fig_manager().window.setWindowIcon(QtGui.QIcon(PATH_TO_ICON))