Cum pot afișa o imagine dintr-un fișier în Jupyter Notebook?

Aș dori să folosesc un IPython notebook ca o modalitate de a interactiv analiza unele genomului diagrame fac cu Biopython's GenomeDiagram modulul. În timp ce există documentație detaliată despre cum să folosiți matplotlib pentru a obține grafice inline în IPython notebook, GenomeDiagram folosește ReportLab set de instrumente de care nu't cred că este acceptată pentru inline grafice în IPython.

Mă gândeam, totuși, că o soluție ar fi să scrie complot/genomului diagrama într-un fișier și apoi deschideți imaginea inline care ar avea același rezultat cu ceva de genul asta:

gd_diagram.write("test.png", "PNG")
display(file="test.png")

Cu toate acestea, pot't dau seama cum de a face acest lucru - sau știu dacă l's posibil. Deci stie cineva daca imaginile pot fi deschise/afișate în IPython?

Soluția

Multumim acest mesaj, puteți face următoarele:

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

(oficial docs)

Comentarii (7)

Dacă sunteți încercarea de a afișa o Imagine în acest fel în interiorul unei bucle, atunci ai nevoie să-și încheie Imagine constructor într-o metodă de afișare.

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))
Comentarii (5)

Rețineți că până acum a postat soluții lucra numai pentru png și jpg!

Dacă vrei chiar mai ușor fără a importa alte biblioteci sau doriți să se afișeze o animație sau nu Fișier GIF animat în Ipython Notebook. Transforma linie în cazul în care doriți să-l afișeze la reduceri și de a folosi acest scurt frumos hack!

![alt text](test.gif "Title")
Comentarii (1)

Acest lucru va importa și afișa o `.jpg imagine în Jupyter (testat cu Python 2.7 în Anaconda mediu)

from IPython.display import display
from PIL import Image

path="/path/to/image.jpg"
display(Image.open(path))

Ai poate nevoie de a instala PIL

în Anaconda acest lucru se face prin tastarea

conda install pillow
Comentarii (0)

Curtoazie de această pagina, am gasit aceasta a lucrat atunci când sugestiile de mai sus nu't:

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()))
Comentarii (0)

Atunci când se utilizează `GenomeDiagram cu Jupyter (iPython), cel mai simplu mod de a afișa imagini este prin conversia GenomeDiagram la o imagine PNG. Acest lucru poate fi înfășurat folosind un IPython.de afișare.Imaginea obiectul pentru a-l afișa în notebook-uri.

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"))

[A se vedea Notebook]

Comentarii (0)

Un aspirator Python3 versiune care folosesc standard numpy, matplotlib și PIL. Fuzionarea răspunsul pentru deschiderea de URL-ul.

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()
Comentarii (0)