Ответ 1
Предоставлено этот пост, вы можете сделать следующее:
from IPython.display import Image
Image(filename='test.png')
Я хотел бы использовать IPython notebook как способ интерактивного анализа некоторых диаграмм геномов, которые я делаю с помощью Biopython GenomeDiagram
. Хотя есть обширная документация о том, как использовать matplotlib
для получения встроенных графиков в IPython-ноутбуке, GenomeDiagram использует набор инструментов ReportLab, который, как мне кажется, не поддерживается для встроенного графического интерфейса в IPython.
Я думал, однако, что путь вокруг этого заключался бы в том, чтобы записать диаграмму сюжета/генома в файл, а затем открыть встроенный образ, который будет иметь тот же результат с чем-то вроде этого:
gd_diagram.write("test.png", "PNG")
display(file="test.png")
Однако я не могу понять, как это сделать - или знать, возможно ли это. Так кто-нибудь знает, могут ли изображения открываться/отображаться в IPython?
Предоставлено этот пост, вы можете сделать следующее:
from IPython.display import Image
Image(filename='test.png')
Если вы пытаетесь отобразить изображение таким образом внутри цикла, вам необходимо обернуть конструктор 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))
Обратите внимание, что до сих пор опубликованные решения работают только для png и jpg!
Если вы хотите, чтобы это было еще проще без импорта дополнительных библиотек или вы хотите отобразить анимированный или не анимированный GIF файл в своем ноутбуке Ipython. Преобразуйте строку, в которой вы хотите отобразить ее для уценки и используйте этот хороший короткий хак!

Предоставлено эта страница, я нашел, что это сработало, когда вышеприведенных предложений не было:
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()))
При использовании GenomeDiagram
с Jupyter (iPython) наиболее простым способом отображения изображений является преобразование GenomeDiagram в PNG-изображение. Это можно обернуть, используя объект IPython.display.Image, чтобы он отображался в записной книжке.
from Bio.Graphics import GenomeDiagram
from Bio.SeqFeature import SeqFeature, FeatureLocation
from IPython.display import display, Image
gd_diagram = GenomeDiagram.Diagram("Test diagram")
gd_track_for_features = gd_diagram.new_track(1, name="Annotated Features")
gd_feature_set = gd_track_for_features.new_set()
gd_feature_set.add_feature(SeqFeature(FeatureLocation(25, 75), strand=+1))
gd_diagram.draw(format="linear", orientation="landscape", pagesize='A4',
fragments=1, start=0, end=100)
Image(gd_diagram.write_to_string("PNG"))
Вы также можете использовать PIL для отображения файлов изображений в ноутбуке Jupyter:
from PIL import Image
path = "cats/cat0.jpg"
display(Image.open(path))
Это работает и в цикле.