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

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

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

当前回答

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

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

你得换条线

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

to

![title](img/picture.png)

更新

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

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

其他回答

虽然上面的很多答案都给出了使用文件或Python代码嵌入图像的方法,但有一种方法只使用markdown和base64就可以在jupyter笔记本中嵌入图像!

要在浏览器中查看图像,base64编码的png图像可以访问链接data:image/png;base64,**image data here**, base64,**image data here**, base64,**image data here**。在答案的末尾可以找到一个示例链接。

要将其嵌入到markdown页面中,只需使用与文件答案类似的构造,但使用base64链接:![**description**](data:image/**type**;base64,**base64 data**)。现在你的图像是100%嵌入到你的Jupyter笔记本文件!

链接示例:data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAD9JREFUGJW1jzEOADAIAqHx/1+mE4ltNXEpI3eJQknCIGsiHSLJB+aO/06PxOo/x2wBgKR2jCeEy0rOO6MDdzYQJRcVkl1NggAAAABJRU5ErkJggg==

减价示例: !(微笑)(数据:图像/ png; base64, iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs + 9 aaaabhncsvqicagifahkiaaaad9jrefugjw1jzeoadaiaqhx / 1 + mE4ltNXEpI3eJQknCIGsiHSLJB + aO / 06 pxoo / x2wBgKR2jCeEy0rOO6MDdzYQJRcVkl1NggAAAABJRU5ErkJggg = =)

下面是Jupyter和Python3的解决方案:

我把我的图片放在一个名为ImageTest的文件夹中。 我的目录是:

C:\Users\MyPcName\ImageTest\image.png

为了显示图像,我使用了这个表达式:

![title](/notebooks/ImageTest/image.png "ShowMyImage")

还要注意/和\

或者,你可以使用一个普通的HTML <img src>,它允许你改变高度和宽度,并且仍然被markdown解释器读取:

<img src="subdirectory/MyImage.png" width=60 height=60 />

在Jupyter笔记本上发布图片有几种方法:

通过HTML:

from IPython.display import Image
from IPython.core.display import HTML 
Image(url= "http://my_site.com/my_picture.jpg")

你保留了使用HTML标签来调整大小的能力,等等…

Image(url= "http://my_site.com/my_picture.jpg", width=100, height=100)

您还可以通过相对路径或绝对路径显示本地存储的图像。

PATH = "/Users/reblochonMasque/Documents/Drawings/"
Image(filename = PATH + "My_picture.jpg", width=100, height=100)

如果图像比显示设置宽:谢谢

使用unrestricted =True禁用图像的最大宽度限制

from IPython.core.display import Image, display
display(Image(url='https://i.ytimg.com/vi/j22DmsZEv30/maxresdefault.jpg', width=1900, unconfined=True))

或者通过降价:

确保单元格是markdown单元格,而不是代码单元格,谢谢@游凯超在评论中) 请注意,在某些系统上,降价不允许文件名中有空白。感谢评论中的@CoffeeTableEspresso和@zebralamy) (在macos上,只要你在markdown单元格上,你就会这样做:![title](../image 1.png),不用担心留白)。

对于网页图像:

![Image of Yaktocat](https://octodex.github.com/images/yaktocat.png)

如@cristianmtr所示 注意不要在url周围使用引号""或引号"。

或者是当地的:

![title](img/picture.png)

@Sebastian演示

如果你想使用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。还可以使用宽度和高度参数调整图像的大小。