Mac用のターミナルエミュレーター「iTerm2」。多機能で使いやすく、Macの開発者の中には、標準のターミナルではなく、こちらを愛用している方も多いと思います。
本日紹介する「itermplit」は、こいのiTerm上にグラフを直接描画することができるPythonライブラリ。Python用のグラフプロットライブラリであるMatplotlibをベースとし、Pythonコードで記述したグラフの結果をすぐにターミナルで確認することができるというものです。
例えば以下のようなコードを使用すると:
import numpy as np
import matplotlib.pyplot as plt
import networkx as nx
plt.rcParams["font.size"] = 10
plt.figure(figsize=(8,3))
ax = plt.subplot(121)
x = np.arange(0,10,0.001)
ax.plot(x, np.sin(np.sinc(x)), 'r', lw=2)
ax.set_title('Nice wiggle')
ax = plt.subplot(122)
plt.tick_params(axis='both', left='off', top='off', right='off', bottom='off', labelleft='off', labeltop='off', labelright='off', labelbottom='off')
G = nx.random_geometric_graph(200, 0.125)
pos=nx.spring_layout(G)
nx.draw_networkx_edges(G, pos, alpha=0.2)
nx.draw_networkx_nodes(G, pos, node_color='r', node_size=12)
ax.set_title('Random graph')
plt.show()
以下のような結果を得ることができます。
目次
itermplotの使用方法
itermplotはPython 3とPython 2をサポートしています。インストールはpip3を使用する場合以下のように実行します。
pip3 install itermplot
itermplotは環境変数MPLBACKENDが設定されているときだけ有効になります。bashやzshの場合、ターミナルを開き以下のように実行します。
export MPLBACKEND="module://itermplot"
テスト実行する場合、Pythonのインタラクティブシェルを利用することができます。
$ echo $MPLBACKEND module://itermplot $ python3 Python 3.5.2 (default, Oct 24 2016, 09:14:06) [GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.38)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import matplotlib.pyplot as plt >>> plt.plot([1,2,3]) [] >>> plt.show()
▼plt.show()を呼び出すと、以下のような直線のグラフが描画されます。
▼docsディレクトリの下にあるtest.pyを実行するとより複雑なサンプルが描画されます。
「ModuleNotFoundError: No module named 'networkx'」というエラーが表示された場合は、「pip3 install networkx」を実行してモジュールをインストールします。
まとめ
itermplotを利用すればターミナル上で手軽にグラフの描画結果を確認することができます。Pythonを利用して各種数値計算プログラムを開発している開発者の方には便利なライブラリではないでしょうか。