プロメモグラム

誰が見てもわかるような文章を目指す

WebAggでグラフ描画

Vagrantを使ってMatplotlibを使いたい。こういう場合はJupyterを使ってブラウザ上でグラフをインライン表示すればいいのだが、まとまったコードを書きたかったので、そういう用途でもグラフ表示できないかと考えた。 デフォルトのグラフ出力方法にWebAggというものがあったので、それを使ってみることにした。

環境

方法

Matplotlibの設定ファイルの確認

インタラクティブモードで確認できる

python
>>> import matplotlib
>>> matplotlib.matplotlib_fname()
/hoge/hage/matplotlibrc

表示方法(backend)を変更

先ほどの関数で表示されたmatplotlibrcをテキストエディタで変更

# 40行付近
backend      : WebAgg

# 50行付近
webagg.port : 8888
webagg.port_retries : 50
webagg.open_in_browser : True

あとは普通に実行

import numpy as np
import matplotlib.pyplot as plt

def main():
        x = np.arange(-10,10)
        y = x * x
        y2 = x * 3

        p = plt.plot(x,y)
        p2 = plt.plot(x,y2)

        plt.show()

if __name__ == '__main__':
        main()

実行結果

localhost:8888にアクセスすると以下のように表示された。

f:id:zia_glass:20160819155920p:plain