ipython notebook --pylab inline: powiększanie wykresu

82

Czy można powiększyć działkę, jeśli włączona jest funkcja inline? Szczególnie w odniesieniu do obracania i powiększania wykresów 3D jest niezbędną funkcją.

varantir
źródło

Odpowiedzi:

90

Teraz dzięki mpld3 bardzo łatwo jest włączyć powiększanie działek w linii!

Wszystko, co musisz zrobić, to zainstalować mpld3 ( pip install mpld3), a następnie dodać to do swojego notebooka:

%matplotlib inline
import mpld3
mpld3.enable_notebook()

Teraz twoje wykresy otrzymają menu paska narzędzi w lewym dolnym rogu, w którym możesz włączyć powiększanie myszy :)

yonilevy
źródło
Wygląda na to, że wykresy 3D nie są jeszcze obsługiwane: github.com/jakevdp/mpld3/issues/223
Théo T
3
To świetnie, ale należy dodać, że w przypadku niektórych działek o większym obciążeniu (na przykład działek zawierających miliony punktów) jest bardzo powolny.
2
Zaimplementowałem to w moim Jupyter Notebook 4.2.2 i powiększenie spowodowało, że rysunek stał się pusty. Dodanie origin = 'lower' jako argumentu do wywołania imshow () naprawiło to. (np. imshow (res, origin = 'lower', cmap = cm.gray))
DanGoodrick
6
Nie działa na mnie. DostajęJson serialization error
Gulzar
95

Możesz teraz użyć %matplotlib notebookzamiast %matplotlib inlinei będziesz mógł wchodzić w interakcje ze swoimi działkami.

João Abrantes
źródło
1
To świetne rozwiązanie. Jeśli spróbujesz i nie zadziała, sprawdź swoją wersję matplotlib. Myślę, że zostało to wprowadzone w wersji 1.5
jpobst
Nie działa tak dobrze, jak się spodziewałem w przypadku wątków pobocznych; może powiększać i przesuwać pojedynczy wykres pomocniczy, ale nie może zwiększać / zmniejszać rozmiaru całego wykresu. Co, szczerze mówiąc, nie było pierwotnym pytaniem zadanym powyżej.
ijoseph,
1
@ijoseph możesz również zwiększyć rozmiar całego obrazu. Po prostu przeciągnij prawy dolny róg wykresu ..
João Abrantes,
4
Może być konieczne ponowne uruchomienie notebooka, jeśli dzwoniłeś już do% matplotlib inline
Guido,
3
Pojawia się błąd „Błąd Javascript: IPython nie jest zdefiniowany”
Ben
10

Obecnie najbliższym możliwym rozwiązaniem jest przerysowanie go w większym rozmiarze za pomocą figsize funkcji. Oczekuje wymiarów w calach, co mnie zaskoczyło, gdy pierwszy raz spróbowałem go użyć.

Istnieje kilka instalacji dla bogatego zaplecza, które pozwoliłyby na manipulowanie działkami na żywo przy użyciu HTML5, ale myślę, że minie jeszcze kilka miesięcy, zanim będzie gotowe.

Jeśli używasz notebooka na komputerze lokalnym, na razie najłatwiejszym rozwiązaniem może być nieużywanie trybu inline, więc wykresy pojawiają się jako osobne okna.

Thomas K.
źródło
1
Tak jest - w najnowszej wersji matplotlib możesz teraz wybrać zaplecze nbagg.
Thomas K
9

mpld3 spowolnił wykonywanie moich notebooków. Uważam, że lepiej jest użyć zaplecza nbagg, który zapewnia te same interaktywne narzędzia, ale także pozwala zapisywać wykresy za pomocą menu prawego przycisku myszy:

import matplotlib
matplotlib.use('nbagg')
import matplotlib.pyplot as plt
Victor Bettachini
źródło
2
Szczerze myślę, że to najlepsza odpowiedź, wygląda o wiele lepiej niż mpld3 i ma więcej funkcji.
bznein