我想包括在木星笔记本图像。

如果我做了以下操作,它就会起作用:

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 API(而不是IPython API),我找到了ipywidgets Jupyter的子项目。您有一个Image小部件。Docstring指定你有一个值参数,它是一个字节。所以你可以这样做:

import requests
from ipywidgets import Image

Image(value=requests.get('https://octodex.github.com/images/yaktocat.png').content)

我同意,使用Markdown风格更简单。它向你展示了Image display Notebook API。还可以使用宽度和高度参数调整图像的大小。

其他回答

除了使用HTML(在Markdown或使用%%HTML魔法)的其他答案:

如果你需要指定图像高度,这将不起作用:

<img src="image.png" height=50> <-- will not work

这是因为Jupyter中的CSS样式默认使用img标记的height: auto,它会覆盖HTML的height属性。你需要重写CSS的height属性:

<img src="image.png" style="height:50px"> <-- works

如果你想使用Jupyter Notebook API(而不是IPython API),我找到了ipywidgets Jupyter的子项目。您有一个Image小部件。Docstring指定你有一个值参数,它是一个字节。所以你可以这样做:

import requests
from ipywidgets import Image

Image(value=requests.get('https://octodex.github.com/images/yaktocat.png').content)

我同意,使用Markdown风格更简单。它向你展示了Image display Notebook API。还可以使用宽度和高度参数调整图像的大小。

我发现的一件事是,你的图像的路径必须是相对于笔记本电脑最初加载的地方。如果你cd到一个不同的目录,如图片,你的Markdown路径仍然相对于原始加载目录。

我知道这不是完全相关的,但由于这个答案是第一次当你搜索“如何显示图像在Jupyter”,请考虑这个答案。

您可以使用matplotlib显示如下所示的图像。

import matplotlib.pyplot as plt
import matplotlib.image as mpimg
image = mpimg.imread("your_image.png")
plt.imshow(image)
plt.show()

在markdown中,您不能在图像文件的名称周围使用引号!

如果仔细阅读错误消息,您将在链接中看到%22的两个部分。这是html编码的引号。

你得换条线

![title]("img/picture.png")

to

![title](img/picture.png)

更新

假设您拥有以下文件结构,并且在文件示例所在的目录中运行jupyter notebook命令。Ipynb(<——包含图像的markdown)被存储:

/
+-- example.ipynb
+-- img
    +-- picture.png