Me gustaría incluir la imagen en un cuaderno jupyter.
Si hice lo siguiente, funciona:
from IPython.display import Image
Image("img/picture.png")
Pero me gustaría incluir las imágenes en una celda de reducción y el siguiente código da un error 404:
![title]("img/picture.png")
También intenté
![texte]("http://localhost:8888/img/picture.png")
Pero sigo teniendo el mismo error:
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
trabajos como se esperaba.img
relativa al archivo html.![title](picture.png)
Hay varias formas de publicar una imagen en los cuadernos Jupyter:
a través de HTML:
Conserva la capacidad de usar etiquetas HTML para cambiar el tamaño, etc.
También puede mostrar imágenes almacenadas localmente, ya sea a través de una ruta relativa o absoluta.
si la imagen es más ancha que la configuración de la pantalla: gracias
se usa
unconfined=True
para desactivar el confinamiento de ancho máximo de la imageno mediante descuento:
(en MacOS, siempre y cuando usted está en una celda de reducción del precio que lo haría así:
![title](../image 1.png)
y no se preocupan por el espacio en blanco).para una imagen web:
como lo muestra @cristianmtr Prestando atención para no usar estas comillas
""
ni las''
que están alrededor de la URL.o uno local:
demostrado por @Sebastian
fuente
Alternativamente, puede usar un HTML simple
<img src>
, que le permite cambiar la altura y el ancho, y el intérprete Markdown aún lo lee:fuente
width="60"
.Sé que esto no es totalmente relevante, pero como esta respuesta se clasifica primero muchas veces cuando busca ' cómo mostrar imágenes en Jupyter ', considere esta respuesta también.
Puede usar matplotlib para mostrar una imagen de la siguiente manera.
fuente
Me sorprende que nadie aquí haya mencionado la opción mágica de celdas html. de los documentos (IPython, pero lo mismo para Jupyter)
fuente
Además de las otras respuestas usando HTML (ya sea en Markdown o usando la
%%HTML
magia:Si necesita especificar la altura de la imagen, esto no funcionará:
Esto se debe a que el estilo CSS en Jupyter usa
height: auto
por defecto para lasimg
etiquetas, lo que anula el atributo de altura HTML. En su lugar, debe sobrescribir elheight
atributo CSS :fuente
Inserte la imagen directamente en el cuaderno Jupyter.
Nota: debe tener una copia local de la imagen en su computadora
Puede insertar la imagen en el cuaderno Jupyter. De esta manera, no necesita mantener la imagen por separado en la carpeta.
Pasos:
Convierta la celda a
markdown
por:O
( Nota: es importante convertir la celda a Markdown, de lo contrario, la opción "Insertar imagen" en el Paso 2 no estará activa)
Ahora ve a la barra de menú y selecciona Editar -> Insertar imagen.
Seleccione la imagen de su disco y cárguela.
Presione Ctrl+ Entero Shift+ Enter.
Esto hará que la imagen sea parte del cuaderno y no necesita cargarla en el directorio o Github. Siento que esto se ve más limpio y no es propenso a un problema de URL roto.
fuente
Jupyter
. Una desventaja a tener en cuenta, para los casos en que esto es importante: incluiría la imagen en elIPyNB Jason
código, por lo que es mucho más grande y no tan amigable para la revisión del código (por ejemplo, al inspeccionardiff
s).Así es como puedes hacerlo con Markdown:
fuente
![image.png](attachment:image.png)
La imagen está realmente incrustada en el cuaderno de ipynb y no necesita perder el tiempo con archivos separados. Desafortunadamente, esto aún no funciona con Jupyter-Lab (v 1.1.4).
Editar: Funciona en JupyterLab Versión 1.2.6
fuente
Markdown
)Si desea utilizar la API de Jupyter Notebook (y ya no la de IPython), encuentro el subproyecto de ipywidgets Jupyter. Tienes un
Image
widget Docstring especifica que tiene unvalue
parámetro que es un byte. Entonces puedes hacer:Estoy de acuerdo, es más simple usar el estilo Markdown. Pero le muestra la API de Notebook de visualización de imágenes. También puede cambiar el tamaño de la imagen con los parámetros
width
yheight
.fuente
value
fue renombradadata
mientras tanto. Para una imagen almacenada localmente, el códigoImage(data=open(filename_png, 'rb').read())
funcionó para mí.Aquí hay una solución para Jupyter y Python3 :
Dejé caer mis imágenes en una carpeta llamada
ImageTest
. Mi directorio es:Para mostrar la imagen, utilicé esta expresión:
También ten cuidado
/
y\
fuente
Esto funciona para mí en una celda de descuento. De alguna manera, no necesito mencionar específicamente si es una imagen o un archivo simple.
fuente
Una cosa que encontré es que la ruta de su imagen debe ser relativa a donde se cargó originalmente la computadora portátil. Si realiza un CD a un directorio diferente, como Imágenes, su ruta de Markdown todavía es relativa al directorio de carga original.
fuente
De acuerdo, tuve los mismos problemas y esto es lo que funcionó y lo que no:
fuente
Si bien muchas de las respuestas anteriores dan formas de incrustar una imagen usando un archivo o con código Python, ¡hay una manera de incrustar una imagen en el cuaderno jupyter usando solo markdown y base64!
Para ver una imagen en el navegador, puede visitar el enlace
data:image/png;base64,**image data here**
de una imagen PNG codificada en base64, odata:image/jpg;base64,**image data here**
una imagen JPG codificada en base64. Un enlace de ejemplo se puede encontrar al final de esta respuesta.Para incrustar esto en una página de rebajas, simplemente use una construcción similar a la que responde el archivo, pero con un enlace base64 en su lugar:
![**description**](data:image/**type**;base64,**base64 data**)
. ¡Ahora su imagen está 100% incrustada en su archivo Jupyter Notebook!Enlace de ejemplo:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAD9JREFUGJW1jzEOADAIAqHx/1+mE4ltNXEpI3eJQknCIGsiHSLJB+aO/06PxOo/x2wBgKR2jCeEy0rOO6MDdzYQJRcVkl1NggAAAABJRU5ErkJggg==
Ejemplo de rebaja:
![smile](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAD9JREFUGJW1jzEOADAIAqHx/1+mE4ltNXEpI3eJQknCIGsiHSLJB+aO/06PxOo/x2wBgKR2jCeEy0rOO6MDdzYQJRcVkl1NggAAAABJRU5ErkJggg==)
fuente