Ich verwende Mac OSX 10.5.8. Ich habe matplotlib mit macports installiert. Ich bekomme einige Beispiele aus der matplotlib-Galerie wie diese, ohne Modifikation:
http://matplotlib.sourceforge.net/examples/api/unicode_minus.html
Ich führe es aus, erhalte keine Fehlermeldung, aber das Bild wird nicht angezeigt. Unter Linux Ubuntu verstehe ich es.
Wissen Sie, was hier falsch sein könnte?
python
macos
matplotlib
plot
Mach den Weg frei
quelle
quelle
matplotliib
Neuinstallation wurde mein Problem behoben. Viele gute Vorschläge / Korrekturen finden Sie unter den Antworten. Wenn keiner von ihnen hilft, installieren Sie matplotlib erneut, bevor Sie aufgeben.Antworten:
Ich kann dies auch an meinem Ende überprüfen. Um das zu beheben, habe ich Folgendes getan
Außerdem müssen wir das Standard-Backend in ein GUI-basiertes ändern.
Bearbeiten Sie die Datei
~/.matplotlib/matplotlibrc
und fügen Sie hinzu:Sie können auch Folgendes ausprobieren, sodass Sie möglicherweise das GTK- oder das Cairo-Backend nicht benötigen. Bearbeiten
~/.matplotlib/matplotlibrc
und hinzufügen:Wenn der Port mit diesen Varianten installiert ist, funktioniert dies ebenfalls, es ist jedoch kein X11 erforderlich.
Der Fehler, den ich sah, war übrigens der folgende:
/opt/local/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/matplotlib/backends/__init__.py:41: UserWarning: Your currently selected backend, 'Agg' does not support show(). Please select a GUI backend in your matplotlibrc file ('/Users/wlynch/.matplotlib/matplotlibrc') or with matplotlib.use() (backend, matplotlib.matplotlib_fname()))
quelle
Ich hatte das gleiche Problem, sogar ich konnte sehen, wie ein neues Anwendungsfenster erstellt wurde und sofort verschwand.
Einfache Lösung - prüfen Sie einfach, ob Sie haben
nach der Handlung
quelle
pylab
. Vielen Dank!import matplotlib.pyplot as plt
ließ es dann und dann auftauchen. Es ist ein bisschen seltsam, aber es hat gut funktioniert!plt.show()
ist es am Ende des Codeblocks erforderlich. Sie können den Status überprüfen, indem Sieplt.isinteractive()
den Status mitplt.ion()
undplt.ioff()
fig.show()
mitplt.show()
.Das hat bei mir funktioniert. Ich habe gerade den Import von Matplotlib geändert
import matplotlib matplotlib.use('TkAgg') import matplotlib.pyplot as plt
quelle
pyplot
sollte nach dem importiert werden.use
!matplotlib.use("TkAgg")
nach all den Importen festgelegt, und es funktioniert immer noch gut, daher denke ich nicht, dass die Reihenfolge hier wichtig ist.Wenn du es versuchst
plt.savefig('myfilename.png')
anstatt
speichert das das richtige Bild, das
myfilename.png
im aktuellen Pfad benannt ist?quelle
Nach der Handlung einfach hinzufügen -
plt.show()
Der Grund dafür ist der interaktive und der nicht interaktive Modus. Wenn das Backend im nicht interaktiven Modus geöffnet wird,
plt.show()
ist es am Ende des Codeblocks erforderlich. Sie können den Status überprüfen, indem Sieplt.isinteractive()
den Status mitplt.ion()
und aufrufen und umschaltenplt.ioff()
quelle
plt.show()
- Ich habe meine Handlung zu zeigen, dann versuchte ich vor meinerplt.legend()
, ich habeplt.ion()
- und entferntplt.show()
, und ich habe meineplt.isinteractive()
zu druckenTrue
, aber noch habe ich nicht mein Grundstück bekommen zu zeigen. Also, wo sollte man tunplt.ion()
, um in den interaktiven Modus zu wechseln - wenn jemand nur überprüfen wollte, ob dies funktioniert oder nicht, ohne es zu verwendenplt.show()
?nur um eine Notiz hinzuzufügen,
Die matplotlibrc-Datei war auf meinem System nicht vorhanden und ich musste eine Kopie von der matplotlib-Website herunterladen. Zukünftige Benutzer müssen möglicherweise dasselbe tun.
quelle
Das hat bei mir funktioniert:
Verweise:
http://blog.caoyuan.me/2012/08/matplotlib-error-mac-os-x/ http://matplotlib.org/faq/installing_faq.html#install-from-git http: //www.tapir .caltech.edu / ~ dtsang / python.html
quelle
backend: tkAgg
Einfügen von ~ / .matplotlib / matplotlibrc funktionierte für michIch hatte nur Python 2.5 und wollte Python 2.6 nicht auf meinem Mac installieren. Daher habe ich ein anderes Verfahren verwendet, das im folgenden Link erwähnt wird, um dieses Problem zu lösen:
http://www.gtkforums.com/viewtopic.php?f=3&t=54928
Was man tatsächlich braucht, sind die folgenden Schritte:
1) Suchen Sie nach dem Verzeichnis "pygtk-2.0.pc" und suchen Sie es. Zum Beispiel befand sich meins im folgenden Verzeichnis:
/ opt / local / lib / pkgconfig
2) Hinzufügen der Pfadinformationen zur Umgebungsvariablen. Zum Beispiel:
3) Laden Sie die Konfigurationsinformationsdatei "matplotlibrc" von der matplotlib-Website http://matplotlib.sourceforge.net/_static/matplotlibrc herunter
4) Ändern Sie das Backend in der Datei in MacOSX und speichern Sie es
5) Kopieren Sie die Datei in das Verzeichnis .matplotlib. Sie können das Verzeichnis in Python mit dem folgenden Befehl suchen:
import matplotlib matplotlib.get_configdir()
quelle
Der Mac wird mit einem eigenen Python geliefert ( lesen Sie hier , was nicht der beste ist). Ich würde nur eine Neuinstallation von Python 3.7 oder so zusammen mit Anaconda vorschlagen und diese dann als Interpreter in PyCharm einführen. Alles wird gut funktionieren und Sie müssen keine Ad-hoc-Lösungen wie "Backend: MacOSX" oder so hinzufügen.
quelle
Ich möchte diese praktikable Lösung für mich teilen,
import matplotlib import platform if platform.system() == 'Darwin': matplotlib.use('MacOSX')
quelle
Gehen Sie wie folgt vor, wenn jemand Spyder verwendet.
1.) Starten Sie Spyder 2.3.5.2 über Anaconda Launcher. 2.) Gehen Sie zu Einstellungen -> IPython-Konsole -> Grafik -> Backend: geändert in "Automatisch". 3.) Wählen Sie "Übernehmen" und schließen Sie die Einstellungen. 3.) Starten Sie den IPython-Kernel neu 4.) Erstellen Sie einfache Grafiken wie
quelle
Als vorübergehende Umgehung kann man die Figur in einem .png / .jpg / .pdf speichern und diese Datei für den Moment verwenden.
## assuming price is out DataFrame that contains columns that we want to plot pdf_plot=price.plot().get_figure() pdf_plot.savefig('Stocks.pdf')
quelle
Schien unter MacOS Mojave 10.14.4 mit Python 3.7 im obigen Beispiel unicode_minus.py zu funktionieren .
quelle