Jupyter:如何制作简单的插图
Jupyter: how to make simple illustrations
我正在学习使用Jupyter/IPython Notebook 作为电子笔记本。有时我需要简单的插图来配合我的计算,例如箭头表示向量。如果我们在 Latex 中,那将是使用 TikZ 的那种插图。尝试了 TikZ 魔术扩展并失败后,我想知道是否有更原生的 (Python) 方法来做到这一点。我不认为 Matplotlib 是处理这类事情的正确工具(如果我错了请纠正我)。
如果您认为 TikZ magic 确实是可行的方法并且我应该尝试让它发挥作用,那么请直言不讳。谢谢。
TikZ(首选方案)
如果您已经熟悉 TikZ,相应的 magic 可能是最佳选择。要使用它,只需按照 this repo (pip install git+git://github.com/mkrphys/ipython-tikzmagic.git
) 中的安装说明并加载扩展,如 githib 页面上所示 %load_ext tikzmagic
.
我刚刚尝试使用 IPython 3.1,它工作正常。当然你必须有 pdflatex 可用。
Matplotlib
如果你想绘制简单的箭头,也可以使用 matplotlib,当然,它比 TikZ 更 pythonic。基于 this 示例的一个非常简单的示例可能看起来像
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 here。不过,我还没有尝试过。
最后,您可以使用写在笔记本中的 svgs(提示见 this 问题,或使用 Inkscape 或类似工具并通过from IPython.display import SVG
.
我正在学习使用Jupyter/IPython Notebook 作为电子笔记本。有时我需要简单的插图来配合我的计算,例如箭头表示向量。如果我们在 Latex 中,那将是使用 TikZ 的那种插图。尝试了 TikZ 魔术扩展并失败后,我想知道是否有更原生的 (Python) 方法来做到这一点。我不认为 Matplotlib 是处理这类事情的正确工具(如果我错了请纠正我)。
如果您认为 TikZ magic 确实是可行的方法并且我应该尝试让它发挥作用,那么请直言不讳。谢谢。
TikZ(首选方案)
如果您已经熟悉 TikZ,相应的 magic 可能是最佳选择。要使用它,只需按照 this repo (pip install git+git://github.com/mkrphys/ipython-tikzmagic.git
) 中的安装说明并加载扩展,如 githib 页面上所示 %load_ext tikzmagic
.
我刚刚尝试使用 IPython 3.1,它工作正常。当然你必须有 pdflatex 可用。
Matplotlib
如果你想绘制简单的箭头,也可以使用 matplotlib,当然,它比 TikZ 更 pythonic。基于 this 示例的一个非常简单的示例可能看起来像
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 here。不过,我还没有尝试过。
最后,您可以使用写在笔记本中的 svgs(提示见 this 问题,或使用 Inkscape 或类似工具并通过from IPython.display import SVG
.