Saya menggunakan IPython dengan --pylab=inline
dan kadang-kadang ingin segera beralih ke GUI matplotlib yang interaktif dan dapat diperbesar untuk melihat plot (yang muncul ketika Anda merencanakan sesuatu di konsol Python terminal). Bagaimana saya bisa melakukan itu? Lebih disukai tanpa meninggalkan atau memulai ulang buku catatan saya.
Masalah dengan plot inline di notebook IPy adalah resolusinya terbatas dan saya tidak dapat memperbesarnya untuk melihat beberapa bagian yang lebih kecil. Dengan GUI maptlotlib yang dimulai dari terminal, saya dapat memilih persegi panjang dari grafik yang ingin saya perbesar dan sumbu menyesuaikannya. Saya mencoba bereksperimen dengan
from matplotlib import interactive
interactive(True)
dan
interactive(False)
tapi itu tidak melakukan apa-apa. Saya juga tidak bisa menemukan petunjuk apa pun secara online.
sumber
%matplotlib notebook
bekerjaJawaban:
Menurut dokumentasi , Anda harus dapat beralih seperti ini:
dan itu akan memunculkan jendela plot biasa (restart pada notebook mungkin diperlukan).
Saya harap ini membantu.
sumber
%pylab qt
. Tidak berfungsi di OS X. Mungkin di Ubuntu ini akan membantu.Jika yang ingin Anda lakukan hanyalah beralih dari plot sebaris ke interaktif dan kembali (sehingga Anda dapat menggeser / memperbesar), lebih baik menggunakan sihir% matplotlib.
dan kembali ke html
% pylab magic mengimpor banyak hal lain dan bahkan dapat menimbulkan konflik. Itu "dari pylab import *".
Anda juga dapat menggunakan backend notebook baru (ditambahkan di matplotlib 1.4):
Jika Anda ingin memiliki lebih banyak interaktivitas dalam bagan Anda, Anda dapat melihat mpld3 dan bokeh . mpld3 sangat bagus, jika Anda tidak memiliki banyak titik data (misalnya <5k +) dan Anda ingin menggunakan sintaks matplotlib normal, tetapi lebih interaktivitas, dibandingkan dengan notebook% matplotlib. Bokeh dapat menangani banyak data, tetapi Anda perlu mempelajari sintaksnya karena ini adalah pustaka terpisah.
Anda juga dapat memeriksa pivottablejs (pip install pivottablejs)
Betapapun kerennya eksplorasi data interaktif, itu benar-benar dapat mengacaukan reproduktifitas. Itu telah terjadi pada saya, jadi saya mencoba menggunakannya hanya pada tahap yang sangat awal dan beralih ke matplotlib / seaborn inline murni, setelah saya merasakan datanya.
sumber
Warning: Cannot change to a different GUI toolkit: notebook. Using qt instead.
untuk%matplotlib notebook
.ImportError: Failed to import any qt binding
untuk perintah ajaib qtDimulai dengan matplotlib 1.4.0 sekarang ada backend interaktif untuk digunakan di notebook
Ada beberapa versi IPython yang tidak memiliki alias itu terdaftar, yang mundur adalah:
Jika itu tidak berhasil, perbarui IPython Anda.
Untuk bermain dengan ini, buka tmpnb.org
dan tempel
ke dalam sel kode (atau cukup modifikasi notebook demo python yang ada)
sumber
Solusi yang lebih baik untuk masalah Anda mungkin perpustakaan Charts . Ini memungkinkan Anda untuk menggunakan pustaka javascript Highcharts yang sangat baik untuk membuat plot yang indah dan interaktif. Highcharts menggunakan
svg
tag HTML sehingga semua bagan Anda sebenarnya adalah gambar vektor.Beberapa fitur:
Penafian: Saya adalah pengembang perpustakaan
sumber
Saya menggunakan ipython di "jupyter QTConsole" dari Anaconda di www.continuum.io/downloads pada 5/28/20117.
Berikut adalah contoh untuk bolak-balik antara jendela terpisah dan mode plot sebaris menggunakan sihir ipython.
sumber
%matplotlib
saya mendapatkan kesalahan yang diakhiri denganImportError: No module named 'PyQt4'
sudo apt-get install python-pyqt5
atausudo apt-get install python-pyqt5
Mulai ulang kernel dan hapus keluaran (jika tidak dimulai dengan notebook baru), lalu jalankan
Untuk info lebih lanjut, buka Merencanakan dengan matplotlib
sumber
Kamu bisa memakai
%matplotlib qt
Jika Anda mendapatkan kesalahan,
ImportError: Failed to import any qt binding
instal PyQt5 sebagai:pip install PyQt5
dan itu berfungsi untuk saya.sumber