Ich verwende IPython mit --pylab=inline
und möchte manchmal schnell zur interaktiven, zoombaren Matplotlib-Benutzeroberfläche wechseln, um Diagramme anzuzeigen (die angezeigt wird, wenn Sie etwas in einer Terminal-Python-Konsole zeichnen). Wie könnte ich das machen? Am besten ohne mein Notebook zu verlassen oder neu zu starten.
Das Problem mit Inline-Plots in IPy-Notebooks ist, dass sie eine begrenzte Auflösung haben und ich sie nicht vergrößern kann, um einige kleinere Teile zu sehen. Mit der maptlotlib-GUI, die von einem Terminal aus startet, kann ich ein Rechteck des Diagramms auswählen, in das ich zoomen möchte, und die Achsen entsprechend anpassen. Ich habe versucht, damit zu experimentieren
from matplotlib import interactive
interactive(True)
und
interactive(False)
aber das hat nichts gebracht. Ich konnte auch online keinen Hinweis finden.
quelle
%matplotlib notebook
WerkeAntworten:
Laut Dokumentation sollten Sie in der Lage sein, wie folgt hin und her zu wechseln:
Daraufhin wird ein reguläres Plotfenster geöffnet (möglicherweise ist ein Neustart des Notebooks erforderlich).
Ich hoffe das hilft.
quelle
%pylab qt
. Funktioniert nicht unter OS X. Vielleicht hilft es in Ubuntu.Wenn Sie nur von Inline-Plots zu interaktiv und zurück wechseln möchten (damit Sie schwenken / zoomen können), ist es besser,% matplotlib magic zu verwenden.
und zurück zu HTML
% pylab magic importiert eine Reihe anderer Dinge und kann sogar zu Konflikten führen. Es funktioniert "vom Pylab-Import *".
Sie können auch ein neues Notebook-Backend verwenden (hinzugefügt in matplotlib 1.4):
Wenn Sie mehr Interaktivität haben , in Ihren Charts möchten, können Sie betrachten mpld3 und Bokeh . mpld3 ist großartig, wenn Sie nicht viele Datenpunkte haben (z. B. <5k +) und die normale Matplotlib-Syntax verwenden möchten, aber mehr Interaktivität im Vergleich zu% matplotlib-Notebooks. Bokeh kann mit vielen Daten umgehen, aber Sie müssen die Syntax lernen, da es sich um eine separate Bibliothek handelt.
Sie können auch pivottablejs auschecken (pip install pivottablejs)
So cool die interaktive Datenexploration auch ist, sie kann die Reproduzierbarkeit völlig beeinträchtigen. Es ist mir passiert, deshalb versuche ich, es erst in einem sehr frühen Stadium zu verwenden und auf reines Inline-Matplotlib / Seaborn umzusteigen, sobald ich das Gefühl für die Daten habe.
quelle
Warning: Cannot change to a different GUI toolkit: notebook. Using qt instead.
für%matplotlib notebook
.ImportError: Failed to import any qt binding
für den Befehl qt magicAb matplotlib 1.4.0 gibt es jetzt ein interaktives Backend zur Verwendung im Notebook
Es gibt einige IPython-Versionen, bei denen dieser Alias nicht registriert ist. Der Fallback lautet:
Wenn das nicht funktioniert, aktualisieren Sie IPython.
Um damit zu spielen, gehe zu tmpnb.org
und einfügen
in eine Codezelle (oder ändern Sie einfach das vorhandene Python-Demo-Notizbuch)
quelle
Eine bessere Lösung für Ihr Problem könnte die Diagrammbibliothek sein . Sie können die hervorragende Highcharts- Javascript-Bibliothek verwenden, um schöne und interaktive Diagramme zu erstellen . Highcharts verwendet das HTML-
svg
Tag, sodass alle Ihre Diagramme tatsächlich Vektorbilder sind.Einige Eigenschaften:
Haftungsausschluss: Ich bin der Entwickler der Bibliothek
quelle
Ich verwende ipython in "jupyter QTConsole" von Anaconda unter www.continuum.io/downloads am 28.05.20117.
Hier ist ein Beispiel für das Hin- und Herwechseln zwischen einem separaten Fenster und einem Inline-Plot-Modus mithilfe von Ipython Magic.
quelle
%matplotlib
erhalte ich eine Fehlermeldung, die mitImportError: No module named 'PyQt4'
sudo apt-get install python-pyqt5
odersudo apt-get install python-pyqt5
Starten Sie den Kernel neu und löschen Sie die Ausgabe (wenn Sie nicht mit einem neuen Notebook beginnen). Führen Sie dann aus
Weitere Informationen finden Sie unter Plotten mit matplotlib
quelle
Sie können verwenden
%matplotlib qt
Wenn Sie den Fehler erhalten haben,
ImportError: Failed to import any qt binding
installieren Sie PyQt5 als:pip install PyQt5
und es funktioniert für mich.quelle