ここでは基本的なグラフの描画方法について学びます。
なお、グラフの描画には、matplotlibライブラリを使用します。
Matplotlib は matplotlib.pyplot as pltとしてインポートされることが多いです。
matplotlib.pyplotの主な関数#
教科書 p.351(Lesson 12.3)| 関数 | 内容 |
|---|---|
axis(x最小値, x最大値, y最小値, y最大値) | 軸を設定する。 |
xlim(x最小値, x最大値) | x軸の範囲を設定する。 |
ylim(y最小値, y最大値) | y軸の範囲を設定する。 |
xlabel(x軸のラベル) | x軸のラベルを設定する。 |
ylabel(y軸のラベル) | y軸のラベルを設定する。 |
xticks(位置列) | 位置列に目盛りを設定する。 |
yticks(位置列) | 位置列に目盛りを設定する。 |
title(タイトル) | グラフタイトルを設定する。 |
text(x, y, 文字列) | (x, y)に文字列を描画する。 |
arrow(x,y, dx, dy) | (x, y)-(dx, dy)に矢印を描画する。 |
legend() | 凡例を表示する。 |
imread(ファイル) | 画像を読み込む。 |
imsave(ファイル) | 画像として保存する。 |
imshow(x) | xに画像を表示する。 |
cla() | クリアする。 |
show() | グラフを描画する。 |
plot(データ系列) | データ系列を描画する。 |
hist(データ系列) | ヒストグラムを描画する。 |
scatter(データ系列1, データ系列2) | 散布図を描画する。 |
ヒストグラム(Histogram)#
教科書 p.347(Lesson 12.3)ヒストグラムを描画するには、plt.hist(data)関数で、描画したいデータ(data)を渡し、plt.show()関数でグラフを表示します。
hist関数には、以下のように様々なオプション引数があります(教科書 p.350)。
| 引数 | 内容 | デフォルト値 | 他の指定など |
|---|---|---|---|
x | データ系列 | 必須の引数 | |
bins | 階級数 | 規定値 | |
range | 範囲 | None | |
cumulative | 累積 | False | True(累積) |
bottom | 下端 | None | |
histtype | ヒストグラムの種類 | bar | barstacked(積み上げグラフ)、step(枠線)、stepfilled(枠線塗りつぶし) |
align | 位置 | mid(中央) | left(左)、right(右) |
orientation | 向き | vertical(垂直) | horizontal(水平) |
rwidth | 階級幅に対する棒の相対値 | None | |
log | 対数表示 | False | True(対数表示) |
color | 色 | None | |
label | 凡例 | None | |
stacked | 積み上げ | False | True(積み上げ表示) |
散布図(Scatter Plot)#
教科書 p.353(Lesson 12.4)散布図を描画するには、plt.scatter(x, y)関数で、x軸とy軸のデータを渡し、plt.show()関数でグラフを表示します。
scatter関数には、以下のように様々なオプション引数があります(教科書 p.352)。
| 引数 | 内容 | デフォルト値 | 他の指定など |
|---|---|---|---|
x | x | 必須 | |
y | y | 必須 | |
s | サイズ | 規定値 | |
c | 色 | b | b(青), g(緑), r(赤), c(シアン), m(マゼンタ), y(黄), k(黒), w(白) |
marker | マーカー | o | 教科書 p.360 表12-9参照 |
alpha | 透明度 | None | 0.0(透明)〜1.0(不透明) |
linewiths | 線の太さ | None | |
edgecolors | 境界色 | None | b(青), g(緑), r(赤), c(シアン), m(マゼンタ), y(黄), k(黒), w(白) |
その他のグラフ#
教科書 p.357(Lesson 12.5)サイン/コサイン 関数#
import math
import matplotlib.pyplot as plt
x = []
s = []
c = []
for i in range(50):
x.append(i * 0.05 * math.pi) # xの値を作成する。
s.append(math.sin(x[i])) # sinの値を作成する。
c.append(math.cos(x[i])) # cosの値を作成する。
plt.title("sin/cos functions")
plt.xlabel("rad")
plt.ylabel("value")
plt.grid(True) # グリッドを表示する。
plt.axis("equal") # グラフの縦横比を1:1にする。
plt.plot(x, s, label="sin") # sin関数のグラフをラベル付きで作成する。
plt.plot(x, c, label="cos") # cos関数のグラフをラベル付きで作成する。
plt.legend() # ラベルから凡例を作成する(plot の後に呼び出す)。
plt.show()実行結果#

