Eu gostaria de incluir uma imagem em um caderno jupiter.
Se eu fiz o seguinte, funciona:
from IPython.display import Image
Image("img/picture.png")
Mas eu gostaria de incluir as imagens em uma célula de remarcação e o código a seguir fornece um erro 404:
![title]("img/picture.png")
Eu também tentei
![texte]("http://localhost:8888/img/picture.png")
Mas ainda recebo o mesmo erro:
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
funciona como esperado.img
ao arquivo html.![title](picture.png)
Existem várias maneiras de postar uma imagem nos blocos de anotações Jupyter:
via HTML:
Você mantém a capacidade de usar tags HTML para redimensionar, etc ...
Você também pode exibir imagens armazenadas localmente, via caminho relativo ou absoluto.
se a imagem for mais larga que as configurações de exibição: obrigado
use
unconfined=True
para desativar o confinamento de largura máxima da imagemou via remarcação:
(no macos, desde que você esteja em uma célula de remarcação, você faria assim:
![title](../image 1.png)
e não se preocupe com o espaço em branco).para uma imagem da web:
como mostrado por @cristianmtr Preste atenção para não usar essas aspas
""
ou aquelas em''
torno do URL.ou local:
demonstrado por @Sebastian
fonte
Como alternativa, você pode usar um HTML simples
<img src>
, que permite alterar a altura e a largura e ainda é lido pelo interpretador de descontos:fonte
width="60"
.Eu sei que isso não é totalmente relevante, mas como essa resposta é classificada primeiro muitas vezes quando você pesquisa ' como exibir imagens no Jupyter ', considere esta resposta também.
Você pode usar o matplotlib para mostrar uma imagem da seguinte maneira.
fonte
Estou surpreso que ninguém aqui tenha mencionado a opção de mágica em células html. dos documentos (IPython, mas o mesmo para Jupyter)
fonte
Além das outras respostas usando HTML (no Markdown ou usando a
%%HTML
mágica:Se você precisar especificar a altura da imagem, isso não funcionará:
Isso ocorre porque o estilo CSS no Jupyter usa
height: auto
por padrão asimg
tags, que substituem o atributo de altura HTML. Você precisa substituir oheight
atributo CSS :fonte
Insira a imagem diretamente no notebook Jupyter.
Nota: Você deve ter uma cópia local da imagem no seu computador
Você pode inserir a imagem no próprio notebook Jupyter. Dessa forma, você não precisa manter a imagem separadamente na pasta.
Passos:
Converta a célula em
markdown
:OU
( Observação: é importante converter a célula em Markdown, caso contrário, a opção "Inserir imagem" na etapa 2 não estará ativa)
Agora vá para a barra de menus e selecione Editar -> Inserir imagem.
Selecione a imagem do seu disco e faça o upload.
Pressione Ctrl+ Enterou Shift+ Enter.
Isso fará com que a imagem faça parte do caderno e você não precisará fazer o upload no diretório ou no Github. Sinto que isso parece mais limpo e não propenso a problemas de URL corrompidos.
fonte
Jupyter
. Uma desvantagem a ser observada, nos casos em que isso importa: incluiria a imagem noIPyNB Jason
código, tornando-a muito maior e não como uma revisão amigável do código (por exemplo, ao inspecionardiff
s).Veja como você pode fazer isso com o Markdown:
fonte
![image.png](attachment:image.png)
A imagem é realmente incorporada no Notebook ipynb e você não precisa mexer em arquivos separados. Infelizmente, isso ainda não está funcionando com o Jupyter-Lab (v 1.1.4).
Edit: Funciona no JupyterLab versão 1.2.6
fonte
Markdown
)Se você deseja usar a API do Jupyter Notebook (e não a IPython), acho o subprojeto do ipywidgets Jupyter. Você tem um
Image
widget. Docstring especifica que você tem umvalue
parâmetro que é um bytes. Então você pode fazer:Concordo, é mais simples usar o estilo Markdown. Mas mostra a API do Notebook para exibição de imagens. Você também pode redimensionar a imagem com os parâmetros
width
eheight
.fonte
value
foi renomeadadata
nesse meio tempo. Para uma imagem armazenada localmente, o códigoImage(data=open(filename_png, 'rb').read())
funcionou para mim.Aqui está uma solução para Jupyter e Python3 :
Larguei minhas imagens em uma pasta chamada
ImageTest
. Meu diretório é:Para mostrar a imagem, usei esta expressão:
Também atente
/
e\
fonte
Isso funciona para mim em uma célula de remarcação. De alguma forma, não preciso mencionar especificamente se é uma imagem ou um arquivo simples.
fonte
Uma coisa que descobri é que o caminho da sua imagem deve estar em relação a onde o notebook foi originalmente carregado. se você cdar para um diretório diferente, como Imagens, o caminho do Markdown ainda será relativo ao diretório de carregamento original.
fonte
Concordo, tive os mesmos problemas e é isso que funcionou e o que não funcionou:
fonte
Enquanto muitas das respostas acima oferecem maneiras de incorporar uma imagem usando um arquivo ou com código Python, há uma maneira de incorporar uma imagem no próprio notebook jupyter usando apenas markdown e base64!
Para visualizar uma imagem no navegador, você pode visitar o link
data:image/png;base64,**image data here**
para uma imagem PNG codificada em base64 oudata:image/jpg;base64,**image data here**
em base64 para uma imagem JPG codificada em base64. Um link de exemplo pode ser encontrado no final desta resposta.Para incorporar isso em uma página markdown, basta usar uma construção semelhante como as respostas de arquivo, mas com base64 ligar em vez disso:
![**description**](data:image/**type**;base64,**base64 data**)
. Agora sua imagem está 100% incorporada ao seu arquivo Jupyter Notebook!Exemplo de link:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAD9JREFUGJW1jzEOADAIAqHx/1+mE4ltNXEpI3eJQknCIGsiHSLJB+aO/06PxOo/x2wBgKR2jCeEy0rOO6MDdzYQJRcVkl1NggAAAABJRU5ErkJggg==
Exemplo de remarcação:
![smile](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAD9JREFUGJW1jzEOADAIAqHx/1+mE4ltNXEpI3eJQknCIGsiHSLJB+aO/06PxOo/x2wBgKR2jCeEy0rOO6MDdzYQJRcVkl1NggAAAABJRU5ErkJggg==)
fonte