Ответ 1
TikZ (предпочтительное решение)
Если вы уже знакомы с TikZ, соответствующая магия, вероятно, является лучшим вариантом. Чтобы использовать его, просто следуйте инструкциям по установке в this repo (pip install git+git://github.com/mkrphys/ipython-tikzmagic.git
) и загрузите расширение, как показано на странице githib, с помощью %load_ext tikzmagic
.
Я просто попытался с IPython 3.1, и он отлично работает. Конечно, вы должны иметь pdflatex.
Matplotlib
Если вы хотите нарисовать простые стрелки, matplotlib также может быть использован и, конечно, более pythonic, чем 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 magic found здесь. Я еще не пробовал это.
Наконец, вы можете использовать svgs, написанные в записной книжке (подсказки см. в этот вопрос или использование Inkscape или подобное и встраивание полученного SVG файла через from IPython.display import SVG
.