このページでは省略しているが, よく使う設定と保存 に書かれている設定とnumpyのインポートを用いている.
ax.plot()の構文 #
ax.plot() は多機能なので色々な引数があるが,よく使用するものは下記.
ax.plot(
x,
y,
color='red',
marker='o',
linestyle='-',
linewidth=2,
markersize=10,
markeredgecolor='black',
label='label',
)- x, y は座標.list や ndarray などの ArrayLike
color, marker, linestyleはよく省略されて
ax.plot(x, y, 'ro-')のように書くことも多い.これは下記の意味.
ax.plot(x, y, color='red', marker='o', linestyle='-')linestyle #
カスタマイズすればより詳細な調整も可能ではあるが,基本的には以下の4種類.
| 値 | 線種 |
|---|---|
'-' |
実線 |
'--' |
破線 |
':' |
点線 |
'-.' |
一点鎖線 |
また,linestyle=''やlinestyle='none'のように書けば線なしにできる.
# ---------- x, y
x = np.array([0, 1, 2, 3])
y = np.array([1, 2, 3, 4])
# ---------- plot
fig, ax = plt.subplots(1, 1)
ax.plot(x, y, linestyle='-', marker='o', markeredgecolor='black', label='solid')
ax.plot(x, y + 1, linestyle='--', marker='o', markeredgecolor='black', label='dashed')
ax.plot(x, y + 2, linestyle=':', marker='o', markeredgecolor='black', label='dotted')
ax.plot(x, y + 3, linestyle='-.', marker='o', markeredgecolor='black', label='dashdot')
ax.set_xlabel('test $x$')
ax.set_ylabel('test $y$')
ax.legend()marker #
Maplotlib公式ドキュメント に使用できるマーカーが一覧がある. よく使用されるものを取り上げたのが下の表.
| 値 | マーカー |
|---|---|
'o' |
円 |
's' |
四角 |
'^' |
上向き三角 |
'D' |
ひし形 |
マーカーの種類の他にも関連オプションがある.'none'にすると塗りつぶしや枠線を無しにできる.'none'は小文字で特殊なので注意.color で設定すると,線やマーカーなどまとめて色が設定されるが,markerfacecolor や markeredgecolor がマーカーでは優先されるので個別に設定できる.
| オプション | 説明 |
|---|---|
markersize |
マーカーの大きさ |
markerfacecolor |
マーカー内部の色 |
markeredgecolor |
マーカーの枠線の色 |
markeredgewidth |
マーカーの枠線の太さ |
alpha |
透明度 |
次の図はマーカーの一例
カラーサイクル #
デフォルトのカラーサイクルは10色. 何も色を指定しなければ順番に色が変わって10色で一周する.
# ---------- x, y
x = np.array([0, 1, 2, 3])
y = np.array([1, 2, 3, 4])
# ---------- plot
fig, ax = plt.subplots(1, 1)
for i in range(12):
ax.plot(x, y + i)
ax.set_xlabel('test $x$')
ax.set_ylabel('test $y$')カラーサイクルの n 番目の色を使いたい場合,例えば0番目なら'C0'で使用できる.
# ---------- x, y
x = np.array([0, 1, 2, 3])
y = np.array([1, 2, 3, 4])
# ---------- plot
fig, ax = plt.subplots(1, 1)
for i in range(12):
ax.plot(x, y + i, color='C0')
ax.set_xlabel('test $x$')
ax.set_ylabel('test $y$')