Bild in IPython-Notebook-Markdown einfügen

Lesezeit: 7 Minuten

Benutzer-Avatar
benpro

Ich beginne, mich stark auf die IPython-Notebook-App zu verlassen, um Algorithmen zu entwickeln und zu dokumentieren. Es ist beeindruckend; aber es gibt etwas, das so aussieht, als ob es möglich sein sollte, aber ich kann nicht herausfinden, wie es geht:

Ich möchte ein lokales Bild in mein (lokales) IPython-Notebook-Markdown einfügen, um die Dokumentation eines Algorithmus zu unterstützen. Ich weiß genug, um so etwas hinzuzufügen <img src="https://stackoverflow.com/questions/10628262/image.png"> zum Abschlag, aber das ist ungefähr so ​​​​weit meines Wissens. Ich nehme an, ich könnte das Bild in das Verzeichnis stellen, das durch 127.0.0.1:8888 (oder ein Unterverzeichnis) dargestellt wird, 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 zu tun, was ich versuche, ohne allzu große Probleme?

Benutzer-Avatar
Philipp Schwarz

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 Notebooks ist es 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 ist, dass Sie alle gängigen Dateiformate anzeigen können, einschließlich jpg, png und gif (Animationen).

  • Neugierig, woher Sie diesen Befehl kennen. Ist es einzigartig für Jupyter oder ist dies eine Sprache (vielleicht Latexformatierung), die Sie in Jupyter verwenden, um das Bild hinzuzufügen?

    – Alex G

    22. Dezember 2016 um 18:04 Uhr

  • @ Alex G, Markdown ist eine Sprache mit Klartext-Formatierungssyntax, die so konzipiert ist, dass sie in HTML und viele andere Formate konvertiert werden kann. Markdown wird häufig verwendet, um Rich Text mit einem einfachen Texteditor zu erstellen. Sehen Sie sich den folgenden Link an, um die Syntax zu lernen: github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet

    – Philipp Schwarz

    28. Januar 2017 um 16:32 Uhr

  • @PhilippSchwarz gibt es einige Optionen für Ihr obiges Beispiel, um die Größe des eingefügten Bildes zu steuern? Verwendung der <img...> -Tag erscheinen solche Optionen ungefähr so <img ... width="480">.

    – Reb.Kabine

    30. Juni 2017 um 14:57 Uhr

  • Mit dieser hat es nicht funktioniert. Notebook hat an einem bestimmten Ort gesucht /notebooks/ – sicherlich ist dies nicht root – und der lokale Pfad existierte nicht. Ich fand es hilfreich, nur das Notizbuch zu benutzen Bild einfügen – das das Bild als Anhang hinzugefügt hat (das jetzt portabel ist).

    – Markieren

    17. September 2017 um 12:55 Uhr

  • Gibt es eine Möglichkeit, diese Methode mit Bilddateien zu verwenden, deren Namen Leerzeichen enthalten?

    – zebralamy

    30. Dezember 2018 um 7:34 Uhr

Benutzer-Avatar
Nerz

Dateien im Notebook-Verzeichnis sind unter einer „files/“-URL verfügbar. Wenn es sich also im Basispfad befindet, wäre es das <img src="https://stackoverflow.com/questions/10628262/files/image.png">und Unterverzeichnisse usw. sind ebenfalls verfügbar: <img src="https://stackoverflow.com/questions/10628262/files/subdir/image.png">etc.

Aktualisieren: ab IPython 2.0, die files/ Präfix wird nicht mehr benötigt (vgl. Versionshinweise). Also jetzt die Lösung <img src="https://stackoverflow.com/questions/10628262/image.png"> funktioniert einfach wie erwartet.

  • Ah, Sie verwenden wahrscheinlich 0,12, nicht wahr? Das Bereitstellen lokaler Dateien ist derzeit nur im Master verfügbar. Und ja, das “Notizbuchverzeichnis” ist das Verzeichnis mit den Notizbüchern (.ipynb-Dateien).

    – Nerz

    17. Mai 2012 um 4:30 Uhr

  • Da Sie sich im Markdown befinden, warum nicht verwenden !(files/image.png)?

    – Kynan

    16. März 2013 um 0:09 Uhr

  • @minrk: es funktioniert nicht für mich. Ich habe “k ” eingefügt, aber es zeigt nichts. k.png befindet sich im selben Ordner wie die Notebook-Datei.

    – Abid Rahman K

    24. April 2013 um 4:40 Uhr

  • Bitte lesen Sie die Antwort und die Kommentare erneut. Ihre URL wird stets Beginnen Sie mit ‘files/’, also wenn Sie haben k.png neben Ihrem Notizbuch wäre die URL src="files/k.png".

    – Nerz

    24. April 2013 um 5:04 Uhr

  • Sie müssen eine Webseite aktualisieren, damit Bilder unter einer bestimmten URL neu geladen werden.

    – Nerz

    23. Juli 2013 um 15:41 Uhr

Ich verwende ipython 2.0, also nur zwei Zeilen.

from IPython.display import Image
Image(filename="output1.png")

  • Dies ist die korrekte Art, ein Bild in a anzuzeigen Code Zelle. Minrks Antwort ist die richtige Art, ein Bild in a anzuzeigen Abschlag Zelle.

    – Mike

    9. Februar 2015 um 17:32 Uhr

  • Bei Verwendung von Jupyter Notebook 4.2.0 wird das Bild nicht angezeigt, es sei denn, ich rufe an display zu: from IPython.display import Image, display; display(Image(filename='output1.png'))

    – Matteo T.

    2. August 2016 um 21:24 Uhr


Benutzer-Avatar
Rich Lysakowski PhD

Das Einlesen eines Bildes in Jupyter NB ist viel einfacher, als die meisten Leute hier angedeutet haben.

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

Daraufhin erscheint der Markdown-Code, der das Bild einfügt.

Beispielsweise wird eine unten grau hervorgehobene Zeichenfolge in der Jupyter-Zelle angezeigt:

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

  1. Führen Sie dann die Markdown-Zelle aus, indem Sie Shift-Enter drücken. Der Jupyter-Server fügt dann das Bild ein, und das Bild wird dann angezeigt.

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

Das ist so einfach!!

UPDATE VOM 18. März 2021: Diese einfache „Drag-and-Drop-from-Windows-File-System“-Methode funktioniert in JupyterLab immer noch einwandfrei. JupyterLab fügt den richtigen HTML-Code ein, um das Bild direkt und dauerhaft in das Notebook einzubetten, sodass das Bild in der .ipynb-Datei gespeichert wird. Ich verwende Jupyter Lab v2.2.7 unter Windows 10 Python 3.7.9 funktioniert immer noch in JupyterLab. Ich verwende Jupyter Lab v2.2.7 mit Python 3.7.9 unter Windows 10.

Dies funktionierte irgendwann im letzten Jahr in Jupyter Classic Notebook v6.1.5 nicht mehr. Ich habe den Entwicklern von Jupyter Classic Notebook einen Fehlerhinweis gemeldet.

In der neuesten Version von Jupyter Classic Notebook funktioniert es wieder. Ich habe es gerade in v6.4 am 15.07.2021 ausprobiert. Vielen Dank an die Entwickler von Jupyter NB Classic !!

Benutzer-Avatar
seralouk

Wenn Sie das Bild in a anzeigen möchten Markdown-Zelle dann benutze:

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

Wenn Sie das Bild in a anzeigen möchten Codezelle dann benutze:

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

  • In der Markdown-Zelle funktioniert für mich ohne Kommas: <img src="files/image.png" width=800 height=400>

    – aerijman

    7. August 2019 um 19:40 Uhr


  • Es stimmt, dass Kommas in HTML-Befehlen nicht benötigt werden. siehe mein Update

    – seralouk

    8. August 2019 um 6:40 Uhr

  • Dies ist eine bessere Lösung, wenn Sie die Größe des angezeigten Bildes in Ihrem Jupyter-Notebook steuern möchten. Andernfalls kann es funktionieren, aber eine Horrorgeschichte sein.

    – vwvan

    22. Oktober 2021 um 8:19 Uhr

[Obsolete]

IPython/Jupyter unterstützt jetzt ein Erweiterungsmodul, das Bilder per Kopieren und Einfügen oder Drag & Drop einfügen kann.

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.

  • In der Markdown-Zelle funktioniert für mich ohne Kommas: <img src="files/image.png" width=800 height=400>

    – aerijman

    7. August 2019 um 19:40 Uhr


  • Es stimmt, dass Kommas in HTML-Befehlen nicht benötigt werden. siehe mein Update

    – seralouk

    8. August 2019 um 6:40 Uhr

  • Dies ist eine bessere Lösung, wenn Sie die Größe des angezeigten Bildes in Ihrem Jupyter-Notebook steuern möchten. Andernfalls kann es funktionieren, aber eine Horrorgeschichte sein.

    – vwvan

    22. Oktober 2021 um 8:19 Uhr

Benutzer-Avatar
ungefähr blau

Ich habe das IPython-Notebook in denselben Ordner mit dem Bild gelegt. Ich benutze Windows. Der Bildname lautet „https://stackoverflow.com/questions/10628262/phuong huong xac dinh.PNG“.

Im Abschlag:

<img src="https://stackoverflow.com/questions/10628262/phuong huong xac dinh.PNG">

Code:

from IPython.display import Image
Image(filename="https://stackoverflow.com/questions/10628262/phuong huong xac dinh.PNG")

  • Dokumentation Referenz ipython.readthedocs.io/en/stable/api/generated/… obwohl Markdown verwendet wird ( ![alt text](foo.png "the title") ist imho vorzuziehen, es sei denn, die Verwendung zusätzlicher Argumente von api ist erforderlich.

    – michael

    21. August 2017 um 0:29 Uhr

1080840cookie-checkBild in IPython-Notebook-Markdown einfügen

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy