инструменты аналитика
April 19, 2023

Jupyter для рисования схем, диаграмм и ментальных карт

Когда я попаду на небо, первый миллион лет я буду рисовать (Уинстон Черчилль). Для этого есть хороший JavaScript инструмент - mermaid. Чтобы включить его поддержку в Jupyter, можно пойти, как минимум, двумя путями:

  • воспользоваться API и послать закодированную строку описания вашей схемы на сайт mermaid;
  • установить среду для работы локально

В первом случае, можно воспользоваться готовым кодом со странички сайта и передать строку с описанием в функцию:

import base64
from IPython.display import Image, display

def mm(graph):
  graphbytes = graph.encode("ascii")
  base64_bytes = base64.b64encode(graphbytes)
  base64_string = base64_bytes.decode("ascii")
  display(Image(url="https://mermaid.ink/img/" + base64_string))

mm("""
flowchart LR
    s1-->s2;
    s2-.transformation.->s3;

""")

Для локальной настройки:

  • установите библиотеку nb-js-diagrammers (pip install --upgrade nb-js-diagrammers)
  • перед использованием в блокноте загружайте расширение (%load_ext nb_js_diagrammers)
  • рисуйте в кодовой ячейке, начинающейся с магической команды (%%mermaid_magic)
%%mermaid_magic

flowchart LR
    s1-->s2;
    s2-.transformation.->s3;

С mermaid вы можете рисовать разнообразные типы графиков, о которых можно подробнее почитать на сайте.