itermplot - Matplotlibを利用してiTerm2にグラフを直描画できるライブラリ

S 20170120 110141

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()

以下のような結果を得ることができます。

Lightdark

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()を呼び出すと、以下のような直線のグラフが描画されます。

S 20170120 110141

▼docsディレクトリの下にあるtest.pyを実行するとより複雑なサンプルが描画されます。

S 20170120 111334

「ModuleNotFoundError: No module named 'networkx'」というエラーが表示された場合は、「pip3 install networkx」を実行してモジュールをインストールします。

まとめ

itermplotを利用すればターミナル上で手軽にグラフの描画結果を確認することができます。Pythonを利用して各種数値計算プログラムを開発している開発者の方には便利なライブラリではないでしょうか。

スポンサーリンク