144 votes

Comment maximiser une fenêtre plt.show() en utilisant Python

Par curiosité, j'aimerais savoir comment faire dans le code ci-dessous. J'ai cherché une réponse mais c'est inutile.

import numpy as np
import matplotlib.pyplot as plt
data=np.random.exponential(scale=180, size=10000)
print ('el valor medio de la distribucion exponencial es: ')
print np.average(data)
plt.hist(data,bins=len(data)**0.5,normed=True, cumulative=True, facecolor='red', label='datos tamano paqutes acumulativa', alpha=0.5)
plt.legend()
plt.xlabel('algo')
plt.ylabel('algo')
plt.grid()
plt.show()

9voto

Zeds Zen Points 93

La seule solution qui fonctionnait parfaitement sur Win 10.

import matplotlib.pyplot as plt

plt.plot(x_data, y_data)

mng = plt.get_current_fig_manager()
mng.window.state("zoomed")
plt.show()

8voto

Adhun Thalekkara Points 624
import matplotlib.pyplot as plt
def maximize():
    plot_backend = plt.get_backend()
    mng = plt.get_current_fig_manager()
    if plot_backend == 'TkAgg':
        mng.resize(*mng.window.maxsize())
    elif plot_backend == 'wxAgg':
        mng.frame.Maximize(True)
    elif plot_backend == 'Qt4Agg':
        mng.window.showMaximized()

Ensuite, appelez la fonction maximize() avant plt.show()

6voto

shredEngineer Points 161

Pour le backend GTK3Agg utiliser maximize() -- notamment avec une minuscule m :

manager = plt.get_current_fig_manager()
manager.window.maximize()

Testé dans Ubuntu 20.04 avec Python 3.8.

4voto

fzyzcjy Points 1583

Voici une fonction basée sur la réponse de @Pythonio. Je l'encapsule dans une fonction qui détecte automatiquement quel backend est utilisé et fait les actions correspondantes.

def plt_set_fullscreen():
    backend = str(plt.get_backend())
    mgr = plt.get_current_fig_manager()
    if backend == 'TkAgg':
        if os.name == 'nt':
            mgr.window.state('zoomed')
        else:
            mgr.resize(*mgr.window.maxsize())
    elif backend == 'wxAgg':
        mgr.frame.Maximize(True)
    elif backend == 'Qt4Agg':
        mgr.window.showMaximized()

3voto

pelson Points 5011

En appuyant sur la touche f (ou ctrl+f dans la version 1.2rc1) lorsque l'on se concentre sur un tracé, la fenêtre du tracé s'agrandit. Pas tout à fait la maximisation, mais peut-être mieux.

En dehors de cela, pour maximiser réellement, vous devrez utiliser les commandes spécifiques de la boîte à outils GUI (si elles existent pour votre backend spécifique).

HTH

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X