Je voudrais inclure une image dans un cahier jupyter.
Si j'ai fait ce qui suit, cela fonctionne:
from IPython.display import Image
Image("img/picture.png")
Mais je voudrais inclure les images dans une cellule de démarque et le code suivant donne une erreur 404:
![title]("img/picture.png")
J'ai aussi essayé
![texte]("http://localhost:8888/img/picture.png")
Mais je reçois toujours la même erreur:
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
travaux comme prévu.img
relatif au fichier html.![title](picture.png)
Il existe plusieurs façons de publier une image dans les blocs-notes Jupyter:
via HTML:
Vous conservez la possibilité d'utiliser des balises HTML pour redimensionner, etc ...
Vous pouvez également afficher des images stockées localement, via un chemin relatif ou absolu.
si l'image est plus large que les paramètres d'affichage: merci
utiliser
unconfined=True
pour désactiver le confinement max-largeur de l'imageou via démarque:
(Sur les macos, tant que vous êtes sur une cellule de démarque, vous feriez comme ceci :,
![title](../image 1.png)
et ne vous inquiétez pas pour l'espace blanc).pour une image web:
comme indiqué par @cristianmtr Attention à ne pas utiliser ces guillemets
""
ou ceux''
autour de l'url.ou local:
démontré par @Sebastian
la source
Alternativement, vous pouvez utiliser un code HTML simple
<img src>
, qui vous permet de modifier la hauteur et la largeur et qui est toujours lu par l'interpréteur de marquage:la source
width="60"
.Je sais que ce n'est pas entièrement pertinent, mais puisque cette réponse est classée plusieurs fois en premier lorsque vous recherchez « comment afficher des images dans Jupyter », veuillez également considérer cette réponse.
Vous pouvez utiliser matplotlib pour afficher une image comme suit.
la source
Je suis surpris que personne ici n'ait mentionné l'option de magie cellulaire html. à partir des documents (IPython, mais même pour Jupyter)
la source
En plus des autres réponses utilisant HTML (soit dans Markdown soit en utilisant la
%%HTML
magie:Si vous devez spécifier la hauteur de l'image, cela ne fonctionnera pas:
En effet, le style CSS dans Jupyter utilise
height: auto
par défaut pour lesimg
balises, ce qui remplace l'attribut de hauteur HTML. Vous devez remplacer l’height
attribut CSS à la place:la source
Insérez l'image directement dans le cahier Jupyter.
Remarque: Vous devez avoir une copie locale de l'image sur votre ordinateur
Vous pouvez insérer l'image dans le bloc-notes Jupyter lui-même. De cette façon, vous n'avez pas besoin de conserver l'image séparément dans le dossier.
Pas:
Convertissez la cellule
markdown
en:OU
( Remarque: il est important de convertir la cellule en Markdown, sinon l'option "Insérer une image" à l'étape 2 ne sera pas active)
Maintenant, allez dans la barre de menus et sélectionnez Modifier -> Insérer une image.
Sélectionnez l'image sur votre disque et téléchargez.
Appuyez sur Ctrl+ Enterou Shift+ Enter.
Cela fera de l'image une partie du bloc-notes et vous n'avez pas besoin de le télécharger dans le répertoire ou Github. Je pense que cela semble plus propre et non sujet à un problème d'URL cassé.
la source
Jupyter
. Un inconvénient à noter, pour les cas où cela est important: il inclurait l'image dans leIPyNB Jason
code, la rendant ainsi beaucoup plus grande et non pas aussi facile à réviser (par exemple lors de l'inspection dediff
s).Voici comment vous pouvez le faire avec Markdown:
la source
![image.png](attachment:image.png)
L'image est en fait intégrée dans le bloc-notes ipynb et vous n'avez pas besoin de jouer avec des fichiers séparés. Cela ne fonctionne malheureusement pas encore avec Jupyter-Lab (v 1.1.4).
Edit: fonctionne dans JupyterLab version 1.2.6
la source
Markdown
)Si vous souhaitez utiliser l'API Jupyter Notebook (et non plus celle d'IPython), je trouve le sous-projet ipywidgets Jupyter. Vous avez un
Image
widget. Docstring spécifie que vous avez unvalue
paramètre qui est un octet. Vous pouvez donc faire:Je suis d'accord, il est plus simple d'utiliser le style Markdown. Mais il vous montre l'API Notebook d'affichage d'image. Vous pouvez également redimensionner l'image avec les paramètres
width
etheight
.la source
value
été renomméedata
entre-temps. Pour une image stockée localement, le code aImage(data=open(filename_png, 'rb').read())
fonctionné pour moi.Voici une solution pour Jupyter et Python3 :
J'ai déposé mes images dans un dossier nommé
ImageTest
. Mon annuaire est:Pour montrer l'image, j'ai utilisé cette expression:
Faites également attention
/
et\
la source
Cela fonctionne pour moi dans une cellule de démarque. D'une certaine manière, je n'ai pas besoin de mentionner spécifiquement s'il s'agit d'une image ou d'un simple fichier.
la source
Une chose que j'ai trouvée est que le chemin de votre image doit être relatif à l'endroit où le bloc-notes a été initialement chargé. si vous cd dans un répertoire différent, tel que Pictures, votre chemin Markdown est toujours relatif au répertoire de chargement d'origine.
la source
D'accord, j'ai eu les mêmes problèmes et c'est ce qui a fonctionné et ce qui n'a pas fonctionné:
la source
Alors que la plupart des réponses ci-dessus donnent des moyens d'incorporer une image à l'aide d'un fichier ou avec du code Python, il existe un moyen d'incorporer une image dans le bloc-notes jupyter lui-même en utilisant uniquement markdown et base64!
Pour afficher une image dans le navigateur, vous pouvez visiter le lien
data:image/png;base64,**image data here**
pour une image PNG encodée en base64, oudata:image/jpg;base64,**image data here**
pour une image JPG encodée en base64. Un exemple de lien se trouve à la fin de cette réponse.Pour intégrer cela dans une page Markdown, il suffit d' utiliser une construction similaire que les réponses de fichiers, mais avec un lien base64 à la place:
![**description**](data:image/**type**;base64,**base64 data**)
. Maintenant, votre image est 100% intégrée dans votre fichier Notebook Jupyter!Exemple de lien:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAD9JREFUGJW1jzEOADAIAqHx/1+mE4ltNXEpI3eJQknCIGsiHSLJB+aO/06PxOo/x2wBgKR2jCeEy0rOO6MDdzYQJRcVkl1NggAAAABJRU5ErkJggg==
Exemple de démarque:
![smile](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAD9JREFUGJW1jzEOADAIAqHx/1+mE4ltNXEpI3eJQknCIGsiHSLJB+aO/06PxOo/x2wBgKR2jCeEy0rOO6MDdzYQJRcVkl1NggAAAABJRU5ErkJggg==)
la source