web-dev-qa-db-ja.com

Jupyter:簡単なイラストの作り方

Jupyter/IPythonNotebookを電子ノートブックとして使用する方法を学んでいます。計算に合わせて簡単なイラストが必要になることがあります。ベクトル量を表す矢印。これは、LaTeXにいる場合にTikZが使用されるようなイラストです。 TikZマジックエクステンションを試したが失敗したので、これを行うためのよりネイティブな(Python)方法があるのだろうか。私はMatplotlibをこの種のことのための正しいツールとして見ていません(私が間違っているなら私を訂正してください)。

TikZマジックが確かに進むべき道であり、私がそれを機能させるように努めるべきだと思うなら、そう言ってください。ありがとう。

13
bongbang

TikZ(推奨されるソリューション)

すでにTikZに精通している場合は、それぞれの魔法がおそらく最良の選択肢です。これを使用するには、 this repopip 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が好ましくないことに完全に同意します。

他の選択肢

漸近線 魔法が見つかりました ここ もあります。しかし、私はまだこれを試していません。

最後に、ノートブックに書かれたsvgsを使用できます(ヒントは this の質問を参照するか、Inkscapeなどを使用して埋め込みますfrom IPython.display import SVGを介した結果のsvgファイル。

10
Jakob