Jupyter: как делать простые иллюстрации

Я учусь использовать Jupyter/IPython Notebook в качестве электронной записной книжки. Иногда мне нужны простые иллюстрации, чтобы сопровождать мои расчеты, например. стрелки для представления векторных величин. Это тип иллюстраций, для которых TikZ использовался бы, если бы мы были в Latex. Попробовав волшебное расширение TikZ и потерпев неудачу, я задаюсь вопросом, есть ли более нативный (Python) способ сделать это. Я не считаю Matplotlib подходящим инструментом для такого рода вещей (поправьте меня, если я ошибаюсь).

Если вы думаете, что магия TikZ — это действительно правильный путь, и я должен попытаться заставить ее работать, так и скажите. Спасибо.


person bongbang    schedule 02.06.2015    source источник


Ответы (1)


TikZ (предпочтительное решение)

Если вы уже знакомы с TikZ, соответствующая магия, вероятно, будет лучшим вариантом. Чтобы использовать его, просто следуйте инструкциям по установке в этом репозитории (pip install git+git://github.com/mkrphys/ipython-tikzmagic.git) и загрузите расширение как показано на странице gitib с %load_ext tikzmagic.
Я только что попробовал с IPython 3.1, и он отлично работает. Конечно, у вас должен быть доступен pdflatex.

Матплотлиб

Если вы хотите рисовать простые стрелки, можно также использовать matplotlib, который, конечно, более питонический, чем TikZ. Очень простой пример, основанный на этом примере, может выглядеть так:

import matplotlib.pyplot as plt
%matplotlib inline
plt.axis('off')
plt.arrow(0, 0, 0.5, 0.5, head_width=0.05, head_length=0.1, fc='k', ec='k');

Для более технических графиков с большим количеством стрелок и размеров я полностью согласен с вами, что matplotlib не предпочтительнее.

Другие альтернативы

Также найдена asymptote магия здесь. Я еще не пробовал это, хотя.

Наконец, вы можете использовать svgs, написанные в блокноте (подсказки см. в этом вопросе, или используя Inkscape или аналогичный и вставьте полученный svg-файл через расширение from IPython.display import SVG.

person Jakob    schedule 04.06.2015
comment
Используя Anaconda3, в какой каталог я клонирую репозиторий TikZ? - person Christopher Turnbull; 17.10.2017
comment
@ChristopherTurnbull при просмотре страницы github предпочтительным методом установки теперь является использование pip - person Jakob; 17.10.2017
comment
В Google Colab !pip install git+git://github.com/mkrphys/ipython-tikzmagic.git %load_ext tikz_magic дает успешно построенный ipython-tikzmagic, но затем ModuleNotFoundError: нет модуля с именем «tikz_magic». Как с этим справиться? - person sh37211; 06.02.2021