我想包括在木星笔记本图像。
如果我做了以下操作,它就会起作用:
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笔记本上发布图片有几种方法:
通过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演示
在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 = =)
我猜你是说在廉价牢房里,在笔记本里。如果是的话,这里有一些最简单的方法:
从本地计算机:
使用文件浏览器,导航到包含图片的目录。然后,将其拖放到要嵌入图片的单元格中。它必须已经在降价模式,否则什么也不会发生。
这样做的好处是:
它很简单,只是拖放
这样做的缺点是:
您不能复制和粘贴该链接,并在任何其他单元格中使用它。如果你想在任何其他笔记本单元格中使用相同的图片,你将需要找到图片,再次拖放到单元格中。
你应该考虑一个文件管理方案,将允许你再次找到图片,如果你计划使用分配的图片在你的笔记本。
这是一种有效的做事方式,对我来说很管用。
来自网络:
最简单的方法是使用浏览器找到一张图片,右键单击“复制图像”,粘贴到你想要显示的图像单元格中。
如上所述,这是有警告的,因为你不能复制这个链接并粘贴到另一个单元格。因此,如果您计划再次使用该图像,则必须将其粘贴到另一个单元格中,或者在本地保存此图像。
图像是嵌入在笔记本电脑,所以应该工作在笔记本电脑打开的任何地方。
出于某种原因,没有其他解决方案对我有效。以下是有效的方法:
将单元格更改为markdown
复制过去:
<div>
<img src="attachment:name.png" width="600"/>
</div>
在</div>后在同一单元格中创建一个空行,并使用鼠标将图像放到这一行中。
你会看到这样的东西:
<div>
<img src="attachment:name.png" width="600"/>
</div>
![yourname.jpg](attachment:yourname.jpg)
复制你的name.jpg,然后去掉你的name.png
删除! [yourname.jpg](附件:yourname.jpg)。
最终的结果应该是这样的:
<div>
<img src="attachment:yourname.jpg" width="600"/>
</div>
运行sell (shift+enter),您将看到您的图像
我对这个主题做了一些研究,并找到了在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存储库中托管的图像使用第二种方法。