Jupyter Notebook의 파일에서 이미지를 표시하려면 어떻게해야합니까?
Bioython 모듈로 만든 일부 게놈 차트를 대화식으로 분석하는 방법으로 IPython 노트북 을 사용하고 싶습니다 GenomeDiagram
. matplotlib
IPython 노트북에서 그래프를 인라인으로 가져 오는 방법에 대한 광범위한 문서가 있지만 GenomeDiagram은 IPython에서 인라인 그래프로 지원되지 않는 ReportLab 툴킷을 사용합니다.
그러나이 문제를 해결하는 방법은 플롯 / 게놈 다이어그램을 파일에 작성한 다음 이미지를 인라인으로 열어서 다음과 같은 결과를 얻을 수 있다고 생각했습니다.
gd_diagram.write("test.png", "PNG")
display(file="test.png")
그러나이 작업을 수행하는 방법을 알 수 없거나 가능한지 알 수 없습니다. IPython에서 이미지를 열거 나 표시 할 수 있는지 아는 사람이 있습니까?
씨의 이 게시물은 다음을 수행 할 수 있습니다 :
from IPython.display import Image
Image(filename='test.png')
( 공식 문서 )
루프 내에서 이런 식으로 이미지를 표시하려는 경우 이미지 생성자를 표시 메소드로 랩핑해야합니다.
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 Notebook에 표시하려는 경우. 표시하려는 위치를 마크 다운으로 변환하고이 멋진 짧은 핵을 사용하십시오!
![alt text](test.gif "Title")
.jpg
Jupyter 에서 이미지를 가져 와서 표시합니다 (Anaconda 환경에서 Python 2.7로 테스트).
from IPython.display import display
from PIL import Image
path="/path/to/image.jpg"
display(Image.open(path))
PIL을 설치해야 할 수도 있습니다
Anaconda에서 이것은 입력하여 수행됩니다.
conda install pillow
씨의 이 페이지는, 나는 제안을 위하지 않았다 때이 일을 발견 :
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()))
PIL을 사용하여 Jupyter Notebook에서 이미지 파일을 표시 할 수도 있습니다.
from PIL import Image
path = "cats/cat0.jpg"
display(Image.open(path))
이것은 루프에서도 작동합니다.
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"))
표준 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()
'Programing' 카테고리의 다른 글
세 자리 숫자마다 쉼표를 추가하십시오 (0) | 2020.06.13 |
---|---|
AngularJS 빠른 검색을 지연시키는 방법은 무엇입니까? (0) | 2020.06.13 |
iPhone에서 Objective-C로 메소드 이름 NSLog (0) | 2020.06.13 |
virtualenv에서 환경 변수 설정 (0) | 2020.06.13 |
appCompat 22.1 이상에서 새로운 AlertDialog를 사용하고 스타일을 지정하는 방법 (0) | 2020.06.13 |