Zaktualizowałem Python (x, y) 2.7.2.3 do 2.7.6.0 w Windows 7 (i byłem szczęśliwy widząc, że w końcu mogę ponownie wpisać function_name?
i zobaczyć ciąg dokumentów w Inspektorze obiektów), ale teraz kreślenie nie działa tak, jak jest przyzwyczajony.
Wcześniej (Spyder 2.1.9, IPython 0.10.2, matplotlib 1.2.1), kiedy na przykład kreśliłem ten skrypt , kreślił on wykresy poboczne obok siebie w interaktywnym oknie:
Teraz (Spyder 2.2.5, IPython 1.2.0, Matplotlib 1.3.1), kiedy próbuję wykreślić rzeczy, robi to podploty jako małe wbudowane pliki PNG, co jest zmianą w IPythonie :
Poszedłem więc do opcji i znalazłem to:
co wydaje się mówić, że mogę odzyskać stare interaktywne wykresy, z 4 wykresami podrzędnymi wyświetlanymi obok siebie, ale kiedy przełączam się na „Automatyczny” i próbuję coś wykreślić, nic to nie daje. Żadnych fabuł.
Jeśli przełączę to menu rozwijane na Qt lub odznaczę opcję „Aktywuj wsparcie”, wykreśla tylko pierwszy wykres podrzędny lub jego część, a następnie zatrzyma się:
Jak uzyskać stare zachowanie 4 równoległych wykresów podrzędnych na jednej figurze, z którą mogę wchodzić w interakcje?
źródło
Odpowiedzi:
Zmień backend na automatyczny:
Narzędzia> preferencje> konsola IPython> grafika> zaplecze graficzne> zaplecze: automatyczne
Następnie zamknij i otwórz Spydera.
źródło
python > preferences > IPython console > Graphics > Graphics backend > Backend: Automatic
Możesz szybko to kontrolować, wpisując wbudowane magiczne polecenia w konsoli Spydera IPython, które znajduję szybciej niż wybieranie ich z menu preferencji. Zmiany zaczynają obowiązywać natychmiast, bez konieczności ponownego uruchamiania Spydera lub jądra.
Aby przełączyć się na wykresy „automatyczne” (tj. Interaktywne), wpisz:
następnie jeśli chcesz przełączyć się z powrotem na „inline”, wpisz to:
(Uwaga: te polecenia nie działają na konsolach innych niż IPython)
Zobacz więcej informacji na ten temat: Cel „% matplotlib inline”
źródło
matplotlib inline File "<stdin>", line 1 %matplotlib inline ^ SyntaxError: invalid syntax
Po zastosowaniu: Narzędzia> preferencje> Grafika> Backend> Automatycznie Po prostu zrestartuj jądro
I na pewno otrzymasz interaktywną fabułę. Miłego kodowania!
źródło
Jak powiedziano w komentarzach, problem leży w twoim skrypcie. Właściwie są 2 problemy:
None
gdzieś. Może z powodu domyślnego nakazu?show()
po każdej poletko.show()
należy wywołać raz na końcu skryptu. Alternatywą jest użycie trybu interaktywnego, poszukajion
w dokumentacji matplotlib.źródło
W rzeczywistości jest to dość łatwe do naprawienia i nie wymaga żadnego kodowania:
1. Kliknij zakładkę Plots nad konsolą. 2. Następnie w prawym górnym rogu ekranu wykresów kliknij przycisk opcji. 3. Na koniec usuń zaznaczenie przycisku „Mute inline plotting”
Teraz ponownie uruchom skrypt, a wykresy powinny pojawić się w konsoli.
Twoje zdrowie.
źródło