Używam IPythona --pylab=inline
i czasami chciałbym szybko przełączyć się na interaktywny, skalowalny graficzny interfejs użytkownika matplotlib do przeglądania wykresów (ten, który pojawia się, gdy rysujesz coś w konsoli terminala Pythona). Jak mogłem to zrobić? Najlepiej bez wychodzenia lub ponownego uruchamiania notebooka.
Problem z wykresami inline w notebooku IPy polega na tym, że mają ograniczoną rozdzielczość i nie mogę ich powiększyć, aby zobaczyć mniejsze części. Dzięki graficznemu interfejsowi użytkownika maptlotlib, który zaczyna się od terminala, mogę wybrać prostokąt wykresu, który chcę powiększyć, i odpowiednio dopasować osie. Próbowałem poeksperymentować
from matplotlib import interactive
interactive(True)
i
interactive(False)
ale to nic nie dało. Nie mogłem też znaleźć żadnej wskazówki w Internecie.
python
matplotlib
jupyter-notebook
metakermit
źródło
źródło
%matplotlib notebook
działaOdpowiedzi:
Zgodnie z dokumentacją powinieneś móc przełączać się w tę iz powrotem w następujący sposób:
a to wyskoczy zwykłe okno wykresu (może być konieczne ponowne uruchomienie notebooka).
Mam nadzieję, że to pomoże.
źródło
%pylab qt
. Nie działa w OS X. Może w Ubuntu to pomoże.Jeśli wszystko, co chcesz zrobić, to przełączyć się z wykresów w wierszu na interaktywne iz powrotem (aby można było przesuwać / powiększać), lepiej użyć magii% matplotlib.
i wróć do html
% pylab magic importuje kilka innych rzeczy i może nawet spowodować konflikt. Robi to „z importu z pylab *”.
Możesz także użyć nowego zaplecza notebooka (dodanego w matplotlib 1.4):
Jeśli chcesz mieć więcej interaktywności na swoich wykresach, możesz spojrzeć na mpld3 i bokeh . mpld3 jest świetny, jeśli nie masz mnóstwa punktów danych (np. <5k +) i chcesz używać normalnej składni matplotlib, ale większej interaktywności w porównaniu z notatnikiem% matplotlib. Bokeh może obsługiwać wiele danych, ale musisz nauczyć się jego składni, ponieważ jest to oddzielna biblioteka.
Możesz również sprawdzić pivottablejs (pip install pivottablejs)
Jakkolwiek fajna jest interaktywna eksploracja danych, może ona całkowicie zepsuć powtarzalność. Przydarzyło mi się to, więc staram się go używać tylko na bardzo wczesnym etapie i przechodzę na czysty inline matplotlib / seaborn, gdy tylko wyczuję dane.
źródło
Warning: Cannot change to a different GUI toolkit: notebook. Using qt instead.
dla%matplotlib notebook
.ImportError: Failed to import any qt binding
dla polecenia qt magicPocząwszy od wersji matplotlib 1.4.0 istnieje teraz interaktywne zaplecze do użytku w notebooku
Istnieje kilka wersji IPythona, które nie mają zarejestrowanego aliasu, powrót to:
Jeśli to nie zadziała, zaktualizuj IPython.
Aby się z tym bawić, przejdź do tmpnb.org
i wklej
do komórki kodu (lub po prostu zmodyfikuj istniejący notatnik demonstracyjny Pythona)
źródło
Lepszym rozwiązaniem Twojego problemu może być biblioteka Wykresów . Umożliwia korzystanie z doskonałej biblioteki javascript Highcharts do tworzenia pięknych i interaktywnych wykresów. Highcharts używa
svg
znacznika HTML, więc wszystkie Twoje wykresy są w rzeczywistości obrazami wektorowymi.Niektóre funkcje:
Zastrzeżenie: jestem twórcą biblioteki
źródło
Używam ipythona w „jupyter QTConsole” firmy Anaconda pod adresem www.continuum.io/downloads 28.05.20117.
Oto przykład przełączania się między oddzielnym oknem i trybem kreślenia w wierszu przy użyciu magii ipython.
źródło
%matplotlib
ImportError: No module named 'PyQt4'
sudo apt-get install python-pyqt5
lubsudo apt-get install python-pyqt5
Zrestartuj jądro i wyczyść wyjście (jeśli nie zaczynasz od nowego notatnika), a następnie uruchom
Aby uzyskać więcej informacji, przejdź do Plotting with matplotlib
źródło
Możesz użyć
%matplotlib qt
Jeśli pojawił się błąd,
ImportError: Failed to import any qt binding
zainstaluj PyQt5 jako:pip install PyQt5
i działa dla mnie.źródło