Matplotlib 線の書式

Matplotlib 線の書式#

※記事内に商品プロモーションを含むことがあります。

公開日

この記事では、Matplotlibの線の書式を設定する方法を解説します。

線の主な書式を以下の表に示します。

引数

説明

linewidth/lw

線の太さ

color/c

線の色

alpha

色の透明度

linestyle

線の種類

線の太さ#

線の太さはlinewidthまたはlwで指定します。値が大きいほど線は太くなります。

import matplotlib.pyplot as plt

fig, ax = plt.subplots()
ax.plot([1, 3, 2], linewidth=3, label="linewidth=3")
ax.plot([0, 2, 1], linewidth=10, label="linewidth=10")
ax.legend()
plt.show()
../_images/721f8bd35c56eb10361fcf8fbc98e49cdbe17c3a3a3065e5e46659c00da99c8b.png

線の色#

線の色はcolorまたはcで指定します。指定する方法は、redblueなどの文字列を与える他に、RGBや16進数のカラーコードで与えることなども可能です。

fig, ax = plt.subplots()
ax.plot([1, 3, 2], color="red", label="red")
ax.plot([0, 2, 1], color="blue", label="blue")
ax.legend()
plt.show()
../_images/9baea2b314b0c93a0819b25f8bb1c14ad03df6f7f3fc396911a4f00a35f9b71e.png

線の透明度#

線の透明度はalphaで指定します。alphaは0から1の範囲を取り、値が小さいほど透明になります。デフォルトの値は1になります。

fig, ax = plt.subplots()
ax.plot([1, 3, 2], color="blue", alpha=1, label="alpha=1")
ax.plot([0, 2, 1], color="blue", alpha=0.6, label="alpha=0.6")
ax.plot([-1, 1, 0], color="blue", alpha=0.3, label="alpha=0.3")
ax.legend()
plt.show()
../_images/ad53185ad2cec7a714749c6f376da43822976f8b0a5f0e9b901eb3a0da71adbc.png

線の種類#

線の種類はlinestyleまたはlsで指定します。文字列または記号で指定できます。

文字列

記号

説明

solid

"-"

実線

dashed

"--"

破線

dashdot

"-."

1点鎖線

dotted

":"

点線

None

""

線なし

fig, ax = plt.subplots()
ax.plot([1, 3, 2], linestyle="solid", label="solid")
ax.plot([0, 2, 1], linestyle="dashed", label="dashed")
ax.plot([-1, 1, 0], linestyle="dashdot", label="dashdot")
ax.plot([-2, 0, -1], linestyle="dotted", label="dotted")
ax.plot([-3, -1, -2], linestyle="None", label="None")
ax.legend()
plt.show()
../_images/218b37c33ba162bd6c9c3ec47beb4296ec81b2c80e0f4e59913c334388a0fef0.png

また、linestyleには任意の線の種類を指定することもできます。以下のようにタプルを与えます。最初の要素でオフセットを指定し、以降でonに線の長さ、offに空白の長さを指定します。onoffは繰り返し指定できます。

  • (offset, (on, off))

  • (offset, (on, off, on, off))

  • (offset, (on, off, on, off, on, off))

  • ...

以下にオフセットの例を示します。青線はオフセット0, オレンジの線はオフセット5です。オレンジ線の一番左側は、通常の破線の半分の長さとなっています。

fig, ax = plt.subplots()
ax.plot([1, 3, 2], linestyle=(0, (10, 10)), label="(0, (10, 10))")
ax.plot([0, 2, 1], linestyle=(5, (10, 10)), label="(5, (10, 10))")
ax.legend()
plt.show()
../_images/4f640ee8369b4acfe8c909e7bca0f3e598c271b8e7fe60bffb761a64e8dab024.png

また、以下に2点鎖線の例を示します。

fig, ax = plt.subplots()
ax.plot([1, 3, 2], linestyle=(0,(6,2,1,2,1,2)), label="(0,(6,2,1,2,1,2))")
ax.legend()
plt.show()
../_images/1c1642612ec8c5c0e9efd762dc12f80a955a5b5ae70b4dfc7906ee633b1978a0.png