matplotlib.pyplotを利用すると、配列からお手軽にグラフを作成できる。
内容
- 最もシンプルなグラフ
- タイトル
- ラベル、レジェンドを追加
- 線の種類を変える
最もシンプルなグラフ
まずはpyplotでグラフを描き、そこにいろいろと足していく。
import matplotlib.pyplot as plt %matplotlib inline x = np.linspace(0, 2, 100) plt.plot(x, x, label='linear') plt.plot(x, x**2, label='quadratic') plt.plot(x, x**3, label='cubic') plt.show()
タイトル
グラフの表示を整える―タイトル
ここでは以下の項目について取り扱う
- タイトルを設定する
- ラベルを設定する
- 凡例を設定する
タイトルを設定する
グラフのタイトルはpyplot.titleで設定する。
- label: タイトルを表示
- loc : タイトルの場所を変える
- fontdic : フォント形式を指定
label: タイトルを表示
import matplotlib.pyplot as plt
plt.plot([1, 2, 3, 4])
plt.title("Simple Plot Default")
plt.show()
タイトルの場所を変える
次にタイトルの場所を変えてみる。タイトルの場所は引数locに”center”, “right”, “left”を指定する。デフォルトは”center”である。
import matplotlib.pyplot as plt
plt.plot([1, 2, 3, 4])
plt.title("Simple Plot Default", loc="left")
plt.show()
import matplotlib.pyplot as plt
plt.plot([1, 2, 3, 4])
plt.title("Simple Plot Default", loc="left")
plt.show()
fontdic : フォント形式を指定
タイトルのフォントを変えるためにはfontdictにフォントを設定するための辞書を指定する。辞書の項目はfamily, color, weight, sizeなどがある。すべての項目については以下を参照
import matplotlib.pyplot as plt
plt.plot([1, 2, 3, 4])
font = {'family': 'serif',
'color': 'darkred',
'weight': 'bold',
'size': 24,
}
plt.title("Simple Plot Default", fontdict=font)
plt.show()
ラベル、レジェンドを追加
上記のグラフでは何も情報がないために、報告書などに使うのは不向きである。タイトル、ラベル、レジェンドを追加する。
タイトルはpyplot.title()を使う。引数にタイトル名を指定すればよい。
ラベルについては、x, y軸それぞれにpyplot.xlabel(), pyplot.ylabel()を指定する。
レジェンドはpyplot.legend()を引数なしに呼び出す。
import matplotlib.pyplot as plt
%matplotlib inline
x = np.linspace(0, 2, 100)
plt.plot(x, x, label='linear')
plt.plot(x, x**2, label='quadratic')
plt.plot(x, x**3, label='cubic')
# ↓追加した処理
plt.xlabel('x label')
plt.ylabel('y label')
plt.title("Simple Plot")
plt.legend()
# ↑ここまで
plt.show()
線の種類を変える
plot([x], y, [fmt], *, data=None, **kwargs)
plotでは[fmt]に対して値を指定することで線の種類、色を変えることができる。
fmt = ‘[marker][line][color]’
fmtのデフォルト値は’b’であり、これは青色の直線になる。
下記の例では上から点線、スターマーク、ドットのピンクでグラフを表示している。
import matplotlib.pyplot as plt %matplotlib inline x = np.linspace(0, 2, 100) plt.plot(x, x, ',--', label='linear') plt.plot(x, x**2, '*', label='quadratic') plt.plot(x, x**3, ':m',label='cubic') plt.show()






