我想包括在木星笔记本图像。
如果我做了以下操作,它就会起作用:
from IPython.display import Image
Image("img/picture.png")
但我想包括在markdown单元格和下面的代码给出一个404错误的图像:
![title]("img/picture.png")
我也试过
![texte]("http://localhost:8888/img/picture.png")
但我仍然得到相同的错误:
404 GET /notebooks/%22/home/user/folder/img/picture.png%22 (127.0.0.1) 2.74ms referer=http://localhost:8888/notebooks/notebook.ipynb
我对这个主题做了一些研究,并找到了在Jupyter Notebook中插入图像的4种方法,我在文章中描述过。
1. 拖放图像到单元格(最简单!)
请将单元格切换为markdown类型,然后将图像拖放到那里。图像将被内部编码为Base64,其文本表示形式将包含在ipynb文件中。我建议只对小图像使用此方法,因为您的笔记本ipynb文件可能会变得非常大且滞后(如果放入太多大图像)。
2. 插入托管映像
将图像上传到服务器(可能是Imgur或GitHub),并在Markdown中输入图像URL:
![alternative text goes here](path-to-the-image)
3.插入本地文件映像
您可以对本地映像使用上述方法,但它需要具有与笔记本相同的根目录。
在Markdown:
![alternative text](path-to-image)
或者你可以使用Python:
from IPython import display
display.Image("path-to-image")
将图像转换为Base64(仅适用于小图像)
与第一步类似,不同之处在于转换到Base64是手动完成的。
Python代码:
from IPython import display
from base64 import b64decode
base64_data = "iVBORw0KGgoAAAANSUhEUgAABL ... the rest of data "
display.Image(b64decode(base64_data))
应该用于相当小的图像。
我个人对GitHub存储库中托管的图像使用第二种方法。
在markdown中,您不能在图像文件的名称周围使用引号!
如果仔细阅读错误消息,您将在链接中看到%22的两个部分。这是html编码的引号。
你得换条线
![title]("img/picture.png")
to
![title](img/picture.png)
更新
假设您拥有以下文件结构,并且在文件示例所在的目录中运行jupyter notebook命令。Ipynb(<——包含图像的markdown)被存储:
/
+-- example.ipynb
+-- img
+-- picture.png