Saya ingin memasukkan gambar dalam notebook jupyter.
Jika saya melakukan yang berikut ini, itu berfungsi:
from IPython.display import Image
Image("img/picture.png")
Tapi saya ingin memasukkan gambar dalam sel penurunan harga dan kode berikut memberikan kesalahan 404:
![title]("img/picture.png")
Saya juga mencoba
![texte]("http://localhost:8888/img/picture.png")
Tapi saya masih mendapatkan kesalahan yang sama:
404 GET /notebooks/%22/home/user/folder/img/picture.png%22 (127.0.0.1) 2.74ms referer=http://localhost:8888/notebooks/notebook.ipynb
IPython.display.Image
karya seperti yang diharapkan.img
relativ ke file html.![title](picture.png)
Ada beberapa cara untuk mengirim gambar di buku catatan Jupyter:
via HTML:
Anda mempertahankan kemampuan untuk menggunakan tag HTML untuk mengubah ukuran, dll ...
Anda juga dapat menampilkan gambar yang disimpan secara lokal, baik melalui jalur relatif atau absolut.
jika gambar itu lebih lebar dari pengaturan tampilan: terima kasih
gunakan
unconfined=True
untuk menonaktifkan kurungan lebar maksimum gambaratau melalui penurunan harga:
(Di Macos, selama Anda berada di sel penurunan harga Anda akan melakukan seperti ini:,
![title](../image 1.png)
dan tidak khawatir tentang ruang putih).untuk gambar web:
seperti yang ditunjukkan oleh @cristianmtr. Perhatian untuk tidak menggunakan kutipan ini
""
atau kutipan di''
sekitar urlatau yang lokal:
diperagakan oleh @Sebastian
sumber
Atau, Anda dapat menggunakan HTML biasa
<img src>
, yang memungkinkan Anda untuk mengubah tinggi dan lebar dan masih dibaca oleh penerjemah markdown:sumber
width="60"
.Saya tahu ini tidak sepenuhnya relevan, tetapi karena jawaban ini berada di peringkat pertama beberapa kali ketika Anda mencari ' cara menampilkan gambar di Jupyter ', harap pertimbangkan jawaban ini juga.
Anda bisa menggunakan matplotlib untuk menampilkan gambar sebagai berikut.
sumber
Saya terkejut tidak ada seorang pun di sini yang menyebutkan opsi sihir sel html. dari docs (IPython, tetapi sama untuk Jupyter)
sumber
Selain jawaban lain menggunakan HTML (baik dalam penurunan harga atau menggunakan
%%HTML
sihir:Jika Anda perlu menentukan ketinggian gambar, ini tidak akan berfungsi:
Itu karena styling CSS di Jupyter menggunakan
height: auto
per default untukimg
tag, yang menimpa atribut tinggi HTML. Anda perlu menimpaheight
atribut CSS sebagai gantinya:sumber
Masukkan gambar langsung di notebook Jupyter.
Catatan: Anda harus memiliki salinan gambar lokal di komputer Anda
Anda dapat memasukkan gambar ke dalam notebook Jupyter itu sendiri. Dengan cara ini Anda tidak perlu menyimpan gambar secara terpisah di folder.
Langkah:
Konversi sel menjadi
markdown
dengan:ATAU
( Catatan: Penting untuk mengonversi sel menjadi Markdown, jika tidak opsi "Sisipkan Gambar" pada Langkah 2 tidak akan aktif)
Sekarang buka bilah menu dan pilih Edit -> Sisipkan Gambar.
Pilih gambar dari disk Anda dan unggah.
Tekan Ctrl+ Enteratau Shift+ Enter.
Ini akan menjadikan gambar sebagai bagian dari buku catatan dan Anda tidak perlu mengunggah di direktori atau Github. Saya merasa ini terlihat lebih bersih dan tidak rentan terhadap masalah URL yang rusak.
sumber
Jupyter
. Satu kekurangan yang perlu diperhatikan, untuk kasus-kasus ketika ini penting: itu akan menyertakan gambar dalamIPyNB Jason
kode, sehingga membuatnya jauh lebih besar dan tidak ramah kode revisi (misalnya saat memeriksadiff
s).Inilah cara Anda dapat melakukannya dengan Penurunan Harga:
sumber
![image.png](attachment:image.png)
Gambar sebenarnya tertanam di Notebook ipynb dan Anda tidak perlu dipusingkan dengan file terpisah. Sayangnya ini belum bekerja dengan Jupyter-Lab (v 1.1.4).
Sunting: Bekerja di JupyterLab Versi 1.2.6
sumber
Markdown
)Jika Anda ingin menggunakan API Notebook Jupyter (dan bukan yang IPython lagi), saya menemukan sub-proyek ipywidgets Jupyter. Anda memiliki
Image
widget. Docstring menentukan bahwa Anda memilikivalue
parameter yang merupakan byte. Jadi kamu bisa melakukan:Saya setuju, lebih mudah menggunakan gaya Markdown. Tapi itu menunjukkan kepada Anda gambar tampilan Notebook API. Anda juga dapat mengubah ukuran gambar dengan
width
danheight
parameter.sumber
value
diubah namanya untukdata
sementara. Untuk gambar yang disimpan secara lokal, kode tersebutImage(data=open(filename_png, 'rb').read())
berfungsi untuk saya.Ini Solusi untuk Jupyter dan Python3 :
Saya menjatuhkan gambar saya di folder bernama
ImageTest
. Direktori saya adalah:Untuk menampilkan gambar saya menggunakan ungkapan ini:
Juga diperhatikan
/
dan\
sumber
Ini bekerja untuk saya di sel penurunan harga. Entah bagaimana saya tidak perlu menyebutkan secara khusus apakah itu gambar atau file sederhana.
sumber
Satu hal yang saya temukan adalah jalur gambar Anda harus relatif ke mana pun notebook itu awalnya diambil. jika Anda melakukan cd ke direktori lain, seperti Pictures Path penurunan harga Anda masih relatif terhadap direktori pemuatan asli.
sumber
Setuju, saya punya masalah yang sama dan ini yang berhasil dan yang tidak:
sumber
Sementara banyak jawaban di atas memberikan cara untuk menyematkan gambar menggunakan file atau dengan kode Python, ada cara untuk menanamkan gambar di notebook jupyter itu sendiri hanya menggunakan markdown dan base64!
Untuk melihat gambar di browser, Anda dapat mengunjungi tautan
data:image/png;base64,**image data here**
untuk gambar PNG yang disandikan base64, ataudata:image/jpg;base64,**image data here**
untuk gambar JPG yang disandikan base64. Tautan contoh dapat ditemukan di akhir jawaban ini.Untuk menanamkan ini ke halaman penurunan harga, hanya menggunakan konstruksi yang sama seperti jawaban file, namun dengan base64 menghubungkan gantinya:
![**description**](data:image/**type**;base64,**base64 data**)
. Sekarang gambar Anda 100% disematkan ke file Notebook Jupyter Anda!Tautan contoh:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAD9JREFUGJW1jzEOADAIAqHx/1+mE4ltNXEpI3eJQknCIGsiHSLJB+aO/06PxOo/x2wBgKR2jCeEy0rOO6MDdzYQJRcVkl1NggAAAABJRU5ErkJggg==
Contoh penurunan harga:
![smile](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAD9JREFUGJW1jzEOADAIAqHx/1+mE4ltNXEpI3eJQknCIGsiHSLJB+aO/06PxOo/x2wBgKR2jCeEy0rOO6MDdzYQJRcVkl1NggAAAABJRU5ErkJggg==)
sumber