python matplotlib 線の設定

python

この記事では,pythonのグラフ描画に使うmatplotlibにおいて,線の種類を設定する便利な記法について述べる.

plot の基本例

次のコードでグラフを描画できる.

import matplotlib.pyplot as plt

fig, ax = plt.subplots(figsize=(8,5))
ax.plot(x, y, '-k')
ax.plot(x, y, '-k')
ax.set_xlabel('x')
ax.set_ylabel('y')
ax.grid()
ax.legend()
plt.show()

プロットする関数は

ax.plot(x, y, '-k')

であり,3つめの引数で線の種類を設定する.
本記事では,この線の種類の設定を網羅する

線の種類の記法

上記のように,pythonでは

ax.plot(x, y, [fmt])

を用いることで,プロットでき,[fmt]には線の種類を表す文字列を入れる.

fmt = '[marker][line][color]'

上記の順番に限らず順不同で記述でき,マーカーと色だけ指定というようにマーカー,線種,色,のどれか1つ又は2つの指定も可能

以降より,線の種類の設定を網羅する
サンプルコードでは全て次のxとyをプロットする.

x = np.arange(10)
y = np.ones(10)

marker

全26種

ax.plot(x, y*12, '-k', label='  (none)')
ax.plot(x, y*11, '.-k', label='. (point)')
ax.plot(x, y*10, ',-k', label=', (pixel)')
ax.plot(x, y*9, 'o-k', label='o (circle)')
ax.plot(x, y*8, 'v-k', label='v (triangle_down)')
ax.plot(x, y*7, '^-k', label='^ (triangle_up)')
ax.plot(x, y*6, '<-k', label='< (triangle_left)')
ax.plot(x, y*5, '>-k', label='> (triangle_right)')
ax.plot(x, y*4, '1-k', label='1 (tri_down)')
ax.plot(x, y*3, '2-k', label='2 (tri_up)')
ax.plot(x, y*2, '3-k',label='3 (tri_left)')
ax.plot(x, y*1, '4-k',label='4 (tri_right)')
ax.plot(x, y*14, '8-k', label='8 (octagon)')
ax.plot(x, y*13, 's-k', label='s (square)')
ax.plot(x, y*12, 'p-k', label='p (pentagon)')
ax.plot(x, y*11, 'P-k', label='P (filled plus)')
ax.plot(x, y*10, '*-k', label='* (star)')
ax.plot(x, y*9,  'h-k', label='h (hexagon1)')
ax.plot(x, y*8,  'H-k', label='H (hexagon2)')
ax.plot(x, y*7,  '+-k', label='+ (plus)')
ax.plot(x, y*6,  'x-k', label='x (x)')
ax.plot(x, y*5,  'X-k', label='X (filled x)')
ax.plot(x, y*4,  'D-k', label='D (diamond)')
ax.plot(x, y*3,  'd-k', label='d (thin diamond)')
ax.plot(x, y*2,  '|-k', label='| (vline)')
ax.plot(x, y*1,  '_-k', label=' _ (hline)')

line style

全4種

ax.plot(x, y*6, '-k',  label='- (solid)')
ax.plot(x, y*5, '--k', label='-- (dash)')
ax.plot(x, y*4, '-.k', label='-. (dash-dot)')
ax.plot(x, y*3, ':k',  label=': (dotted)')

color

全8種

ax.plot(x, y*8, 'b', label='b (blue)')
ax.plot(x, y*7, 'g', label='g (green)')
ax.plot(x, y*6, 'r', label='r (red)')
ax.plot(x, y*5, 'c', label='c (cyan)')
ax.plot(x, y*4, 'm', label='m (magenta)')
ax.plot(x, y*3, 'y', label='y (yellow)')
ax.plot(x, y*2, 'k', label='k (black)')
ax.plot(x, y*1, 'w', label='w (white)')

参考

  • matplotlib reference
    https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.plot.html?highlight=plot#matplotlib.axes.Axes.plot

コメント

タイトルとURLをコピーしました