matplotlib超基本

入ってない場合

もし自分の環境にmatplotlibが入ってない場合は、pip install matplotlib でいれてあげよう。

anacondaやminiconda使ってる人は最初から入ってるのでいきなり使えるはず。

サンプル

import matplotlib.pyplot as plt

if __name__ == '__main__':
    figure, ax = plt.subplots(1, 1)
    x = [1, 2, 3]
    y = [10, 20, 30]
    ax.plot(x, y)
    plt.show()

簡単。figureとaxってなんじゃい!ってを置いておけばだいたいなにしてるかわかるかと。

ちなみに最後のplt.show()を忘れるとなにも起きないので注意。

subplots(1, 1)の1,1は省略可能。

xとyはPython標準のリストじゃなくても、リストっぽいもの(numpyのndarrayやpandasのSeries等)ならOK。

基本の考え方

axは一つのグラフでfigureはaxをいくつかまとめることもできる図だと思ってもらえれば。

図(figure)の中にグラフ(ax)がいくつかあるという考え方。(上の例では一つだけだけど)

最初のsubplotsでこれから描くための図とグラフのオブジェクトをもらうイメージ。

subplots(1, 1)は一つのfigureの中に縦1列横1列のaxがありますよーってこと。

subplots(3, 2)ならこんな感じになる。

import matplotlib.pyplot as plt

if __name__ == '__main__':
    nrows = 3
    ncols = 2
    fig, ax = plt.subplots(nrows, ncols)
    x = [1, 2, 3]
    y = [10, 20, 30]
    for i in range(nrows):
        for j in range(ncols):
            ax[i][j].plot(x, y)
    plt.show()

注意点としては複数のグラフがある場合、返り値axはリストになる。

この場合は2次元リスト。(11行目参照)

縦か横が1列であれば1次元リスト。