webentwicklung-frage-antwort-db.com.de

Einfügen von Bildern in IPython Notebook Markdown

Ich fange an, stark von der IPython-Notebook-App abhängig zu sein, um Algorithmen zu entwickeln und zu dokumentieren. Es ist großartig; Aber es gibt etwas, das wie es scheint möglich sein sollte, aber ich kann nicht herausfinden, wie es geht:

Ich möchte ein lokales Image in mein (lokales) IPython-Notizbuch einfügen, um die Dokumentation eines Algorithmus zu erleichtern. Ich weiß genug, um etwas hinzuzufügen wie <img src="image.png"> zum Preisnachlass, aber das ist ungefähr so ​​weit wie ich weiß. Ich gehe davon aus, dass ich das Bild in das durch 127.0.0.1:8888 (oder ein Unterverzeichnis) dargestellte Verzeichnis stellen könnte, um darauf zugreifen zu können, aber ich kann nicht herausfinden, wo sich dieses Verzeichnis befindet. (Ich arbeite an einem Mac.) Ist es also möglich, das, was ich versuche, ohne allzu große Probleme zu tun?

169
benpro

Dateien im Notizbuchverzeichnis sind unter der URL "files /" verfügbar. Wenn es sich also im Basispfad befindet, wäre es <img src="files/image.png"> und Unterverzeichnisse usw. sind ebenfalls verfügbar: <img src="files/subdir/image.png">, usw.

Update : Ab IPython 2.0 wird das files/ Präfix wird nicht mehr benötigt (vgl. Release Notes ). Also jetzt die Lösung <img src="image.png"> funktioniert einfach wie erwartet.

159
minrk

Die meisten der bisher gegebenen Antworten gehen in die falsche Richtung und schlagen vor, zusätzliche Bibliotheken zu laden und den Code anstelle von Markup zu verwenden. In Ipython/Jupyter-Notizbüchern ist dies sehr einfach. Stellen Sie sicher, dass sich die Zelle tatsächlich im Markup befindet, und verwenden Sie Folgendes, um ein Bild anzuzeigen:

![alt text](imagename.png "Title")

Ein weiterer Vorteil gegenüber den anderen vorgeschlagenen Methoden besteht darin, dass Sie alle gängigen Dateiformate anzeigen können, einschließlich jpg, png und gif (Animationen).

175
Philipp Schwarz

Ich benutze ipython 2.0, also nur zwei Zeilen.

from IPython.display import Image
Image(filename='output1.png')
68
Gomes

[Obsolet]

IPython/Jupyter unterstützt jetzt ein Erweiterungsmodul, mit dem Bilder per Copy & Paste oder Drag & Drop eingefügt werden können.

https://github.com/ipython-contrib/IPython-notebook-extensions

Die Drag & Drop-Erweiterung scheint in den meisten Browsern zu funktionieren

https://github.com/ipython-contrib/IPython-notebook-extensions/tree/master/nbextensions/usability/dragdrop

Kopieren und Einfügen funktioniert jedoch nur in Chrome.

19
Mike

Ich habe das IPython-Notizbuch im selben Ordner wie das Bild abgelegt. Ich benutze Windows. Der Bildname lautet "phuong huong xac dinh.PNG".

Im Markdown:

<img src="phuong huong xac dinh.PNG">

Code:

from IPython.display import Image
Image(filename='phuong huong xac dinh.PNG')
9
hydroman

Stellen Sie zunächst sicher, dass Sie sich im Markdown-Bearbeitungsmodell in der ipython-Notebook-Zelle befinden

Dies ist eine Alternative zu der von anderen vorgeschlagenen Methode <img src="myimage.png">:

![title](img/picture.png)

Es scheint auch zu funktionieren, wenn der Titel fehlt:

![](img/picture.png)

Beachten Sie, dass sich keine Zitate im Pfad befinden sollten. Ich bin mir nicht sicher, ob dies für Pfade mit Leerzeichen funktioniert.

7
tsando

Die letzte Version von jupyter notebook akzeptiert das native Kopieren/Einfügen von Bildern

6
Romain Jouin

Für diejenigen, die suchen, wo die Image-Datei auf dem Jupyter-Computer abgelegt werden soll, damit sie vom lokalen Dateisystem angezeigt werden kann.

Ich habe mein mypic.png in

/root/Images/mypic.png

(Das ist der Bilder-Ordner, der im Jupyter-Online-Dateibrowser angezeigt wird.)

In diesem Fall muss ich die folgende Zeile in die Markdown-Zelle einfügen, damit mein Bild im Notizblock angezeigt wird:

![My Title](Images/mypic.png)
3

die Antwort von minrk ist richtig.

Ich stellte jedoch fest, dass die Bilder in der Druckansicht beschädigt waren (auf meinem Windows-Computer mit der Anaconda-Distribution von IPython Version 0.13.2 in einem Chrome Browser)

Die Problemumgehung dafür war <img src="../files/image.png"> stattdessen.

Dadurch wird das Bild sowohl in der Druckansicht als auch in der normalen iPython-Bearbeitungsansicht korrekt angezeigt.

UPDATE: Seit meinem Upgrade auf iPython 1.1.0 ist diese Problemumgehung nicht mehr erforderlich, da die Druckansicht nicht mehr vorhanden ist. In der Tat müssen Sie diese Problemumgehung vermeiden, da sie das nbconvert-Tool daran hindert, die Dateien zu finden.

2
jlarchibald

Wenn Sie das Bild in einer Markdown-Zelle anzeigen möchten, verwenden Sie:

<img src="files/image.png" width="800" height="400">

Wenn Sie das Bild in einer Code-Zelle anzeigen möchten, verwenden Sie:

from IPython.display import Image
Image(filename='output1.png',width=800, height=400)
2
serafeim

Ein Bild in Jupyter zu bekommen NB ist eine viel einfachere Operation, als die meisten Leute hier angedeutet haben.

1) Erstellen Sie einfach eine leere Markdown-Zelle. 2) Ziehen Sie die Bilddatei per Drag & Drop in die leere Markdown-Zelle.

Der Markdown-Code, mit dem das Bild eingefügt wird, wird angezeigt.

In der Jupyter-Zelle wird beispielsweise eine grau unterlegte Zeichenfolge angezeigt:

![Venus_flytrap_taxonomy.jpg](attachment:Venus_flytrap_taxonomy.jpg)

3) Führen Sie dann die Markdown-Zelle aus, indem Sie die Umschalt-Eingabetaste drücken. Der Jupyter-Server fügt dann das Bild ein und das Bild wird angezeigt.

Ich laufe Jupyter Notebook Server ist: 5.7.4 mit Python 3.7.0 unter Windows 7.

Das ist so einfach !!

2