Как вставить изображение в таблицу в Jupyter Notebook

190
25 июня 2021, 15:30

У меня есть отчёт с кодом в Jupyter Notebook, в котором я хочу привести таблицу с картинками. Этот отчёт я планирую сохранить в html и отправить.

Вопрос:

Как вставить картинки в таблицу так, чтобы ipynb экспортировался в html, корректно отображаемый на другом компьютере?

Попытка решения №1

Я попробовал создать таблицу через html в ячейке Markdown:

<table>
    <tr><td><img src="00.png"></td><td>Въезд запрещен</td></tr>
    <tr><td><img src="01.png"></td><td>Движение без остановки запрещено</td></tr>
</table>

После сохранения в hmtl и запуска из другой директории, картинки перестают отображаться (см. рис. 1), т.к. их нет в текущей директории. Я бы не хотел таскать кучу картинок вместе с html. Может быть можно вставить их в бинарном виде в html?

Рисунок 1.

Попытка решения №2

Я попробовал перетащить картинку курсором мыши в Google Chrome -- Jupyter сам сгенерировал Markdown:

![00.png](attachment:00.png)

Изображение вставленное такие образом корректно отображается после сохранения в hmtl из любой директории, однако если вставить изображения в таблицу следующим образом:

<table>
    <tr><td>![00.png](attachment:00.png)</td><td>Въезд запрещен</td></tr>
    <tr><td>![01.png](attachment:01.png)</td><td>Движение без остановки запрещено</td></tr>
</table>

то изображение перестаёт отображаться (см. рис. 2). В Markdown ошибка?

Рисунок 2.

Answer 1

Чтобы создать таблицу с картинками в Jupyter нужно:

  1. Выделить пустую ячейку.
  2. Поменять тип ячейки с Code на Markdown (Cell -> Cell Type -> Markdown).
  3. Написать таблицу (без картинок) на Markdown. Пример:
| Снимок | Название                         |
|--------|----------------------------------|
|        | Въезд запрещен                   |
|        | Движение без остановки запрещено |
  1. Мышью перетащить картинки из файлового менеджера в браузер в ячейку Markdown. Должно получится:
| Снимок                       | Название                         |
|------------------------------|----------------------------------|
| ![00.png](attachment:00.png) | Въезд запрещен                   |
| ![01.png](attachment:01.png) | Движение без остановки запрещено |
  1. Запустить код в ячейке Markdown (Ctrl+Enter). Должно получиться:

  1. Теперь можно сохранить получившийся ipynb в html (File -> Download as -> HTML).

Как ipynb, так и html можно переносить на другой компьютер без файлов картинок, и картинки там будут отображаться.

см. Документация Markdown в Jupyter.

READ ALSO
Как ускорить добавление строк в datagridview

Как ускорить добавление строк в datagridview

Хочу добавить 100тыс строк с 5-6 колонками в gridЕсли делать через datagridview

123
Подписаться на изменение свойства

Подписаться на изменение свойства

У меня есть созданный UserControlНесколько его экземпляров я добавляю на MainWindow

95
Многопоточность в в C# и WPF

Многопоточность в в C# и WPF

Как реализовать многопоточность в WPF? Нужно сделать программу, которая при поступлении данных на COM порт меняет видео в программе на другое,...

84
Пустой NuGet пакет при скачивании

Пустой NuGet пакет при скачивании

Развернул свой Nuget Server на удаленном хостеТакже собрал два NuGet пакета и добавил их напрямую в репозиторий сервера, и выкладываю сервак вместе...

96