zac*_*ach 156 python ipython jupyter-notebook
我想用IPython笔记本作为交互式分析我用Biopython GenomeDiagram
模块制作的一些基因组图表的方法.虽然有关于如何matplotlib
在IPython笔记本中使用内联图形的大量文档,但GenomeDiagram使用了ReportLab工具包,我认为它不支持IPython中的内联图形.
然而,我想,解决这个问题的方法是将绘图/基因组图表写入文件,然后打开内联图像,这将具有相同的结果,如下所示:
gd_diagram.write("test.png", "PNG")
display(file="test.png")
Run Code Online (Sandbox Code Playgroud)
但是,我无法弄清楚如何做到这一点 - 或者知道它是否可行.那么有人知道图像是否可以在IPython中打开/显示?
zac*_*ach 273
感谢这篇文章,您可以执行以下操作:
from IPython.display import Image
Image(filename='test.png')
Run Code Online (Sandbox Code Playgroud)
(官方文件)
DrM*_*eod 187
如果您尝试在循环内以这种方式显示图像,则需要将Image构造函数包装在显示方法中.
from IPython.display import Image, display
listOfImageNames = ['/path/to/images/1.png',
'/path/to/images/2.png']
for imageName in listOfImageNames:
display(Image(filename=imageName))
Run Code Online (Sandbox Code Playgroud)
Phi*_*arz 29
注意,直到现在发布的解决方案只适用于png和jpg!
如果您希望在不导入更多库的情况下更容易,或者想要在Ipython Notebook中显示动画或非动画GIF文件.将要显示它的行转换为markdown并使用这个漂亮的短黑客!

Run Code Online (Sandbox Code Playgroud)
Con*_*ett 17
这将.jpg
在Jupyter中导入并显示图像(在Anaconda环境中使用Python 2.7进行测试)
from IPython.display import display
from PIL import Image
path="/path/to/image.jpg"
display(Image.open(path))
Run Code Online (Sandbox Code Playgroud)
在Anaconda这是通过打字完成的
conda install pillow
Run Code Online (Sandbox Code Playgroud)
Kar*_*Żak 15
如果你想有效地显示大量图像,我建议使用IPyPlot 包
import ipyplot
ipyplot.plot_images(images_array, max_images=20, img_width=150)
Run Code Online (Sandbox Code Playgroud)
该包中还有一些其他有用的功能,您可以在其中显示交互式选项卡(每个标签/类别的单独选项卡)中的图像,这对所有 ML 分类任务非常有帮助。
小智 12
您可以在 Markdown 部分的 html 代码中使用:例如:
<img src="https://www.tensorflow.org/images/colab_logo_32px.png" />
Run Code Online (Sandbox Code Playgroud)
礼貌这个页面,我发现这个工作时,上述建议也没有:
import PIL.Image
from cStringIO import StringIO
import IPython.display
import numpy as np
def showarray(a, fmt='png'):
a = np.uint8(a)
f = StringIO()
PIL.Image.fromarray(a).save(f, fmt)
IPython.display.display(IPython.display.Image(data=f.getvalue()))
Run Code Online (Sandbox Code Playgroud)
使用标准 numpy、matplotlib 和 PIL 的更干净的 Python3 版本。合并从 URL 打开的答案。
import matplotlib.pyplot as plt
from PIL import Image
import numpy as np
pil_im = Image.open('image.png') #Take jpg + png
## Uncomment to open from URL
#import requests
#r = requests.get('https://www.vegvesen.no/public/webkamera/kamera?id=131206')
#pil_im = Image.open(BytesIO(r.content))
im_array = np.asarray(pil_im)
plt.imshow(im_array)
plt.show()
Run Code Online (Sandbox Code Playgroud)
小智 5
from IPython.display import Image
Image(filename =r'C:\user\path')
Run Code Online (Sandbox Code Playgroud)
我已经看到了一些解决方案,有些解决方案由于原始目录而无法工作,当添加上面的代码时,请记住在目录前添加 'r' 。这应该避免这种错误:(unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXXX escape
如果您希望将图像从本地主机嵌入到 ipython 笔记本中,您可以执行以下操作:
首先:找到当前本地路径:
# show current directory
import os
cwd = os.getcwd()
cwd
Run Code Online (Sandbox Code Playgroud)
例如,结果将是:
'C:\\Users\\lenovo\\Tutorials'
Run Code Online (Sandbox Code Playgroud)
接下来,按如下方式嵌入您的图像:
from IPython.display import display
from PIL import Image
path="C:\\Users\\lenovo\\Tutorials\\Data_Science\\DS images\\your_image.jpeg"
display(Image.open(path))
Run Code Online (Sandbox Code Playgroud)
确保在 jpg、jpeg 或 png 中选择正确的图像类型。
归档时间: |
|
查看次数: |
181474 次 |
最近记录: |