Nur aus Neugier möchte ich im folgenden Code wissen, wie das geht. Ich habe nach einer Antwort gesucht, bin aber nutzlos.
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()
python
matplotlib
Santiago Lovera
quelle
quelle
plt.get_current_fig_manager().window.state('zoomed')
dannplt.show()
.Antworten:
Ich benutze normalerweise
vor dem Anruf an
plt.show()
, und ich bekomme ein maximiertes Fenster. Dies funktioniert nur für das Backend 'wx'.BEARBEITEN:
Informationen zum Qt4Agg-Backend finden Sie in der Antwort von kwerenda .
quelle
mng.frame.Maximize(True) AttributeError: FigureManagerTkAgg instance has no attribute 'frame'
in Matplotlib 1.2.0MacOSX
Backend zu tun ? DasFigureManagerMac
scheint weder das Attributwindow
noch zu habenframe
.Ich arbeite unter Windows (WIN7) mit Python 2.7.5 und Matplotlib 1.3.1.
Ich konnte die Figurenfenster für TkAgg, QT4Agg und wxAgg mithilfe der folgenden Zeilen maximieren:
Ich hoffe, diese Zusammenfassung der vorherigen Antworten (und einiger Ergänzungen) in einem Arbeitsbeispiel (zumindest für Windows) hilft. Prost
quelle
figManager.window.showMaximized()
Eingeben wurde gerade das maximierte Vollbildfenster angezeigt. Die nächste Zeile:plt.show()
Zeigen Sie einfach ein anderes Fenster, in dem die Daten in einem Fenster normaler Größe dargestellt werden._tkinter.TclError: bad argument "zoomed": must be normal, iconic, or withdrawn
(Ubuntu 16.04).Mit dem Qt-Backend (FigureManagerQT) lautet der richtige Befehl:
quelle
plt.show()
danach. Tolle Antwort, funktioniert unter Windows!Dadurch nimmt das Fenster unter Ubuntu 12.04 mit dem TkAgg-Backend für mich den Vollbildmodus ein:
quelle
Für mich hat nichts davon funktioniert. Ich benutze das Tk-Backend unter Ubuntu 14.04, das matplotlib 1.3.1 enthält.
Der folgende Code erstellt ein Vollbild-Plotfenster, das nicht mit Maximieren identisch ist, aber meinen Zweck erfüllt:
quelle
Dies sollte funktionieren ( zumindest mit TkAgg):
( Wie oben beschrieben und unter Verwendung von Tkinter, gibt es eine Möglichkeit, die verwendbare Bildschirmgröße zu erhalten, ohne ein Fenster sichtbar zu zoomen? )
quelle
TkAgg
, nichtTkApp
, nicht wahr?Dies ist eine Art Hacky und wahrscheinlich nicht tragbar. Verwenden Sie es nur, wenn Sie schnell und schmutzig suchen. Wenn ich die Figur nur viel größer als den Bildschirm einstelle, nimmt sie genau den gesamten Bildschirm ein.
In Ubuntu 16.04 mit Qt4Agg wird das Fenster maximiert (nicht im Vollbildmodus), wenn es größer als der Bildschirm ist. (Wenn Sie zwei Monitore haben, wird diese nur auf einem von ihnen maximiert.)
quelle
Ich fand dies für den Vollbildmodus unter Ubuntu
quelle
Ich verstehe
mng.frame.Maximize(True) AttributeError: FigureManagerTkAgg instance has no attribute 'frame'
auch.Dann habe ich die Attribute durchgesehen
mng
und dabei Folgendes gefunden:Das hat bei mir funktioniert.
Für Leute, die die gleichen Probleme haben, können Sie dies versuchen.
Meine Matplotlib-Version ist übrigens 1.3.1.
quelle
plt.show()
. Nicht in diesem Vollbildfenster, irgendein Vorschlag?Meine bisher besten Bemühungen, verschiedene Backends zu unterstützen:
quelle
Durch Drücken der
f
Taste (oderctrl+f
in 1.2rc1), wenn Sie sich auf ein Diagramm konzentrieren, wird ein Diagrammfenster im Vollbildmodus angezeigt. Nicht ganz maximierend, aber vielleicht besser.Um dies tatsächlich zu maximieren, müssen Sie GUI Toolkit-spezifische Befehle verwenden (sofern diese für Ihr spezifisches Backend vorhanden sind).
HTH
quelle
Die einzige Lösung, die unter Win 10 einwandfrei funktioniert hat.
quelle
In meinen Versionen (Python 3.6, Eclipse, Windows 7) funktionierten die oben angegebenen Snippets nicht, aber mit Hinweisen von Eclipse / pydev (nach Eingabe von: mng.) Fand ich Folgendes:
Es scheint, dass die Verwendung von mng-Befehlen nur für die lokale Entwicklung in Ordnung ist ...
quelle
Versuchen Sie es mit der Methode 'Figure.set_size_inches' mit dem zusätzlichen Schlüsselwortargument
forward=True
. Laut Dokumentation sollte dies so sein die Figur Fenstergröße ändern.Ob dies tatsächlich geschieht, hängt vom verwendeten Betriebssystem ab.
quelle
Hier ist eine Funktion, die auf der Antwort von @ Pythonio basiert. Ich kapsle es in eine Funktion, die automatisch erkennt, welches Backend es verwendet, und führe die entsprechenden Aktionen aus.
quelle
Versuchen Sie
plt.figure(figsize=(6*3.13,4*3.13))
, die Handlung größer zu machen.quelle
Ok, das hat bei mir funktioniert. Ich habe die gesamte Option showMaximize () verwendet und die Größe Ihres Fensters wird proportional zur Größe der Figur geändert, aber die Leinwand wird nicht erweitert und "angepasst". Ich habe das gelöst durch:
quelle
Dies maximiert nicht unbedingt Ihr Fenster, ändert jedoch die Größe Ihres Fensters proportional zur Größe der Abbildung:
Dies kann auch hilfreich sein: http://matplotlib.1069221.n5.nabble.com/Resizing-figure-windows-td11424.html
quelle
Folgendes funktioniert möglicherweise mit allen Backends, aber ich habe es nur auf QT getestet:
quelle
Rufen Sie dann
maximize()
vorher die Funktion aufplt.show()
quelle