Bisakah seseorang menjelaskan kepada saya apa sebenarnya gunanya %matplotlib inline
?
python
matplotlib
jupyter-notebook
ipython
Rishabh
sumber
sumber
inline
) oleh masuk:%matplotlib --list
.Jawaban:
%matplotlib
adalah fungsi ajaib di IPython. Saya akan mengutip dokumentasi yang relevan di sini untuk Anda baca agar nyaman:%matplotlib inline
set backend dari matplotlib ke backend 'inline' :Saat menggunakan backend 'inline', grafik matplotlib Anda akan dimasukkan dalam buku catatan Anda, di sebelah kode. Mungkin patut juga membaca Cara membuat notebook IPython matplotlib sebaris inline untuk referensi tentang cara menggunakannya dalam kode Anda.
Jika Anda ingin interaktivitas juga, Anda dapat menggunakan backend nbagg dengan
%matplotlib notebook
(dalam IPython 3.x), seperti dijelaskan di sini .sumber
Asalkan Anda menjalankan IPython, itu
%matplotlib inline
akan membuat output plot Anda muncul dan disimpan di dalam notebook.Menurut dokumentasi
sumber
Jika Anda ingin menambahkan plot ke notebook Jupyter Anda, maka itu
%matplotlib inline
adalah solusi standar. Dan ada perintah sihir lain yang akan digunakan secaramatplotlib
interaktif di dalam Jupyter.%matplotlib
:plt
perintah plot apa pun sekarang akan menyebabkan jendela gambar terbuka, dan perintah lebih lanjut dapat dijalankan untuk memperbarui plot. Beberapa perubahan tidak akan menggambar secara otomatis, untuk memaksa pembaruan, gunakanplt.draw()
%matplotlib notebook
: akan menghasilkan plot interaktif yang tertanam di dalam notebook, Anda dapat memperbesar dan mengubah ukuran gambar%matplotlib inline
: hanya menggambar gambar statis di notebooksumber
ipython docs
sumber
inline
, plot dibuat di jendela luar dan Anda perlu menggunakan display () untuk menunjukkannya di notebook.Ini berarti bahwa setiap grafik yang kita buat sebagai bagian dari kode kita akan muncul di buku catatan yang sama dan tidak di jendela terpisah yang akan terjadi jika kita belum menggunakan pernyataan ajaib ini.
sumber
Jika Anda tidak tahu apa itu backend, Anda dapat membaca ini: https://matplotlib.org/tutorials/introductory/usage.html#backends
Jadi, ketika Anda mengetik% matplotlib inline, itu mengaktifkan backend inline. Seperti yang dibahas dalam posting sebelumnya:
sumber
Untuk menjelaskannya dengan jelas:
Jika Anda tidak suka seperti ini:
Menambahkan
%matplotlib inline
dan di sana Anda memilikinya di notebook jupyter Anda.
sumber
TL; DR
%matplotlib inline
- Menampilkan inline outputKernel IPython memiliki kemampuan untuk menampilkan plot dengan mengeksekusi kode. Kernel IPython dirancang untuk bekerja dengan mulus dengan pustaka plot matplotlib untuk menyediakan fungsionalitas ini.
Tampilkan output di jendela terpisah
Tampilkan inline output
(hanya tersedia untuk Notebook Jupyter dan Jupyter QtConsole)
Tampilan dengan backend interaktif
(nilai yang valid
'GTK3Agg', 'GTK3Cairo', 'MacOSX', 'nbAgg', 'Qt4Agg', 'Qt4Cairo', 'Qt5Agg', 'Qt5Cairo', 'TkAgg', 'TkCairo', 'WebAgg', 'WX', 'WXAgg', 'WXCairo', 'agg', 'cairo', 'pdf', 'pgf', 'ps', 'svg', 'template'
)Contoh - GTK3Agg - Agg rendering ke kanvas GTK 3.x (membutuhkan PyGObject dan pycairo atau cairocffi).
Lebih detail tentang backend interaktif matplotlib: di sini
Rujuk: IPython Rich Output - Plotting Interaktif
sumber
Asalkan Anda menjalankan Jupyter Notebook, perintah% matplotlib inline akan membuat output plot Anda muncul di notebook, juga dapat disimpan.
sumber
Tidak wajib menulis itu. Ini bekerja dengan baik untuk saya tanpa (
%matplotlib
) fungsi ajaib. Saya menggunakan kompiler Sypder, yang ada di Anaconda.sumber