将图像插入IPython Notebook Markdown


216

我开始严重依赖IPython Notebook应用程序来开发和记录算法。太棒了; 但是似乎有些应该可行的方法,但是我不知道该怎么做:

我想在我的(本地)IPython笔记本降价中插入本地图像,以帮助记录算法。我知道足够<img src="image.png">在降价中添加类似内容,但据我所知。我假设我可以将图像放在127.0.0.1:8888表示的目录(或某些子目录)中,以便能够访问它,但是我不知道该目录在哪里。(我正在Mac上工作。)那么,是否可以在没有太多麻烦的情况下做我想做的事情?

Answers:


200

笔记本目录中的文件位于“ files /” URL下。因此,如果它位于基本路径中,则为<img src="files/image.png">,子目录等也可用:<img src="files/subdir/image.png">,等等。

更新:从IPython 2.0开始,files/不再需要该前缀(请参阅发行说明)。因此,现在该解决方案<img src="image.png">可以按预期工作。


3
嗯,您可能使用的是0.12,不是吗?当前仅在master中提供本地文件。是的,“笔记本目录”是笔记本(.ipynb文件)所在的目录。
明斯克2012年

107
由于您处于降价促销中,为什么不使用![caption](files/image.png)
凯南

4
@minrk:这对我不起作用。我输入了“ <img src =“ k.png”>“,但是它什么也没显示。k.png与笔记本文件位于同一文件夹中。
Abid Rahman K

4
请重新阅读答案和评论。您的网址将始终以“ files /”开头,因此,如果您k.png的笔记本旁边有该网址,则网址为src="files/k.png"
Minrk

2
您必须刷新网页以重新加载给定网址的图片。
明斯克

229

到目前为止,大多数给出的答案都是错误的,建议加载其他库并使用代码而不是标记。在Ipython / Jupyter Notebooks中,这非常简单。确保单元格确实在标记中并显示图像以供使用:

![alt text](imagename.png "Title")

与建议的其他方法相比,进一步的优点是您可以显示所有常见的文件格式,包括jpg,png和gif(动画)。


对如何知道此命令感到好奇。它是Jupyter所独有的,还是您在Jupyter中使用的某种语言(可能是胶乳格式)来添加图像?
Alex G

1
@ Alex G,Markdown是一种纯文本格式语法的语言,旨在将其转换为HTML和许多其他格式。Markdown通常用于使用纯文本编辑器创建富文本。查看以下链接以学习语法:github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet
Philipp Schwarz

@PhilippSchwarz上面的示例中有一些选项可以控制“粘贴”图像的大小?使用<img...>标签,这样的选项大致如下所示<img ... width="480">
Reb.Cabin '17

1
使用它是行不通的。笔记本正在特定位置/ notebooks / <我的工作路径附加在此处>-确定不是根目录-本地路径不存在。我发现仅使用笔记本插入图像很有帮助-该图像已作为附件添加(现在可以移植)。
标记

2
有什么方法可以对名称中带有空格的图像文件使用此方法?
zebralamy

78

我正在使用ipython 2.0,所以只有两行。

from IPython.display import Image
Image(filename='output1.png')

24
这是在代码单元中显示图像的正确方法。Minrk的答案是在降价单元格中显示图像的正确方法。
迈克

3
使用jupyter Notebook 4.2.0,除非我也打过电话,否则它不会显示图像displayfrom IPython.display import Image, display; display(Image(filename='output1.png'))
Matteo T.

21

[过时]

IPython / Jupyter现在支持扩展模块,该模块可以通过复制和粘贴或拖放来插入图像。

https://github.com/ipython-contrib/IPython-notebook-extensions

拖放扩展似乎可以在大多数浏览器中使用

https://github.com/ipython-contrib/IPython-notebook-extensions/tree/master/nbextensions/usability/dragdrop

但是复制和粘贴仅适用于Chrome。


1
这个答案需要一些投票。很少有人了解Ipython扩展。
Thoran

只是尝试在Safari和Chrome中拖放而不对我有用(OSX,Py3,所有更新)
K.-Michael Aye

2
您发布的第二个链接已损坏-不再支持扩展程序?
zthomas.nc

我也找不到扩展名了。
yerforkferchips

是的,Jupyter在过去三年中有所进步,这个答案已经过时了。
迈克(Mike)

17

将图像导入Jupyter NB比大多数人在这里提到的要简单得多。

1)只需创建一个空的Markdown单元。2)然后将图像文件拖放到空白的Markdown单元格中。

然后出现将插入图像的降价代码。

例如,下面以灰色突出显示的字符串将出现在Jupyter单元格中:

![Venus_flytrap_taxonomy.jpg](attachment:Venus_flytrap_taxonomy.jpg)

3)然后按Shift-Enter执行Markdown单元。然后,Jupyter服务器将插入图像,然后图像将出现。

我正在运行Jupyter笔记本服务器是:Windows 7上具有Python 3.7.0的5.7.4。

这是如此简单!


2
这确实是我找到的最佳解决方案!!
GCGM

不幸的是,当在Google Cloud中托管Jupyter Notebook 6.0版本时,此方法不起作用。除了安装拖放nbextension之外,还有没有管理员权限的人可以解决该问题吗?
Rich Lysakowski博士

13

我将IPython笔记本与图像放在同一文件夹中。我使用Windows。图像名称是“ phuong huong xac dinh.PNG”。

在Markdown中:

<img src="phuong huong xac dinh.PNG">

码:

from IPython.display import Image
Image(filename='phuong huong xac dinh.PNG')

1
文档参考ipython.readthedocs.io/en/stable/api/generated/… ,尽管使用markdown(![alt text](foo.png "the title")不建议使用,除非需要使用api中的其他args。)
michael

9

首先确保您在ipython笔记本单元格中处于markdown编辑模型中

这是其他人提出的方法的替代方法<img src="myimage.png">

![title](img/picture.png)

如果标题丢失,它似乎也可以工作:

![](img/picture.png)

请注意,路径中不应包含任何引号。不知道这是否适用于带有空格的路径!


1
对我来说,笔记本中没有渲染名称中带有空格的图像。我删除了空格,现在可以看到了。
insanely_sin

9

Jupyter Notebook的最新版本本机接受图像的复制/粘贴


我更喜欢此选项,因为它会将图像嵌入笔记本二进制文件中。它使笔记本电脑更重,但是您无需将图像保持在相对路径中。
Tulio Casagrande,

8

如果要在Markdown单元中显示图像,请使用:

<img src="files/image.png" width="800" height="400">

如果要在“代码”单元格中显示图像,请使用:

from IPython.display import Image
Image(filename='output1.png',width=800, height=400)

在降价小组中,对我来说,没有逗号即可:<img src="files/image.png" width=800 height=400>
aerijman

的确,HTML命令中不需要逗号。查看我的更新
seralouk

5

在运行此代码之前,将默认块从“代码”更改为“ Markdown”:

![<caption>](image_filename.png)

如果图像文件在另一个文件夹中,则可以执行以下操作:

![<caption>](folder/image_filename.png)

4

对于那些希望将图像文件放在Jupyter机器上的位置的人,以便可以从本地文件系统显示它。

我把我的mypic.png

/root/Images/mypic.png

(即Jupyter在线文件浏览器中显示的Images文件夹)

在这种情况下,我需要将以下行放入Markdown单元中,以使我的图片显示在记事本中:

![My Title](Images/mypic.png)

2

明克的答案是正确的。

但是,我发现这些图像在“打印视图”中显得不完整(在运行Chrome浏览器中IPython 0.13.2版的Anaconda发行版的Windows计算机上)

解决方法是使用 <img src="../files/image.png">

这使得图像可以在“打印视图”和普通的iPython编辑视图中正确显示。

更新:自从我升级到iPython v1.1.0以来,由于打印视图不再存在,因此不再需要这种解决方法。实际上,您必须避免这种解决方法,因为它会阻止nbconvert工具查找文件。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.