Mam problem z PyCharm i matplotlib, którego nie mogę poprawić.PyCharm nie otworzy poprawnie działek matplotlib
Kiedy używam PyCharm i ipython jako konsoli, przez którą interpretowane są polecenia, wykresy nie pojawiają się, dopóki nie zapiszę tej figury. Jednak tak się nie dzieje, gdy próbuję wykreślić spoza PyCharm.
Oto proces exmaple że nie w pycharm:
In[2]: import matplotlib.pyplot as plt
Backend MacOSX is interactive backend. Turning interactive mode on.
In[3]: plt.plot([1,2,3,4],[1,4,9,16], 'ro')
Ten będzie otworzyć okno z napisem "Rysunek 1". Jednak nie pojawia się żaden wykres, a myszka przełącza się na SPOD po najechaniu na niego (jestem na Macu). W tym momencie mogę wypróbować
ale nadal nie pojawi się działka. Jednak, gdybym wtedy zrobić:
In[5]: plt.savefig('foo.png')
nie tylko, fabuła wydaje się postać zapisanej o tej nazwie w oknie rysunku 1. Zauważ, że PyCharm włączył tryb interaktywny i że rozpoznał, że moim zapleczem jest (powinien być?) MacOS.
Używam tego samego procesu za pośrednictwem konsoli Pythona i ipythona w ogólnej sesji terminalowej, a nawet za pośrednictwem emacs, a we wszystkich przypadkach wykres pojawia się po wywołaniu linii plt.plot()
. Nie jest wymagane wywołanie plt.show()
.
Rzeczywiście, mogę nawet użyć terminala przez PyCharm i uzyskać żądany wykres. Jedną z odpowiedzi jest to, że powinienem po prostu zrobić moje spisek przy użyciu tych metod i zignorować PyCharm. Załóżmy jednak, że uważam, że "dzwonki i gwizdki" PyCharm są na tyle atrakcyjne, że naprawdę chciałbym użyć tego jako mojego IDE, ale chcę móc badać fabuły bez konieczności przechodzenia przez problemy (ponieważ nie robię tego w żaden sposób). t chcieć zachować każdy spisek, który próbuję).
Próbowałem również przełączania backend przez plt.switch_backend()
. Wypróbowałem wszystkie wymienione opcje, z których wszystkie zawodzą, z powodów głównie związanych z brakiem zainstalowania niektórych pakietów lub z niewłaściwym systemem. Mam nie próbowałem instalować wszystko, aby użyć nowego zaplecza, więc nie wiem, czy inny, poprawnie zainstalowany backend rozwiązałby ten problem. Chętnie spróbuję, oczywiście!
dane systemowe:
MacBook Pro Retina mid-2012, 16GB RAM, Yosemite 10,10
Python 3.4.2
ipython 2.3.1
pycharm Community Edition 4.0.4
Zauważ, że znam i próbował odmiany poprawek z następujących pytań:
How to switch backends in matlab/python
Matplotlib figure stucked (grey window)
matplotlib does not show my drawings although I call pyplot.show()
EDYTOWANIE Jak zauważono w komentarzu poniżej, wydaje się, że jest to bug, a nie niepowodzenia ustawienia z mojej strony. W związku z tym zmieniam to pytanie, aby zapytać, czy istnieje znane obejście tego problemu.
Powieliłem to zachowanie w Pycharm 4.0 Pro na OS X 10.10. Wydaje się, że jest to problem w konsoli Pythona Pythona, jak wskazano na https://youtrack.jetbrains.com/issue/PY-14547. – Jason
Więc może odpowiedzią jest porzucenie PyCharm. Bleargh. Zmieniliśmy moje pytanie, aby odzwierciedlić ten problem i zapytać, czy istnieje znane obejście tego problemu. –
Dlaczego upuść pycharm, ponieważ Console jest w zasadzie duplikatem funkcjonalności terminalu? Możesz zrobić wszystko w Terminalu, dzięki Konsoli ... po prostu upewnij się, że jesteś we właściwym folderze. – Jason