第1講 グラフ で学んだグラフの描画を復習し,
さらに他のグラフの描画方法について学びます.
なお,グラフの描画には,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.legend() # ラベルから凡例を作成する.
plt.plot(x, s, label="sin") # sin関数のグラフをラベル付きで作成する.
plt.plot(x, c, label="cos") # cos関数のグラフをラベル付きで作成する.
plt.show()
実行結果 #