Matplotlib Python でのラインスタイル

Suraj Joshi 2024年2月15日
Matplotlib Python でのラインスタイル

このチュートリアルでは、matplotlib.pyplot.plot() メソッドの linestyle パラメータの適切な値を設定することで、Matplotlib のプロットで異なる線種を使用する方法に焦点を当てます。利用可能な linestyle オプションはたくさんあります。

Python Matplotlib でラインスタイルを設定する

import math
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 2 * math.pi, 100)
y = np.sin(x)

plt.plot(x, y)
plt.xlabel("x")
plt.ylabel("sinx")
plt.title("Sinx Function")
plt.show()

出力:

Matplotlib Python のデフォルトのラインスタイル

これは sinx 関数のプロットをデフォルトの solid 線のスタイルで生成します。

linestyle パラメータの選択肢を確認するには、以下のスクリプトを実行します。

from matplotlib import lines

print(lines.lineStyles.keys())

出力:

dict_keys(['-', '--', '-.', ':', 'None', ' ', ''])

任意の出力値を使用して、プロットの線のスタイルを変更できます。

import math
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 2 * math.pi, 100)
y = np.sin(x)

plt.plot(x, y, linestyle="-.")
plt.xlabel("x")
plt.ylabel("sinx")
plt.title("Sinx Function")
plt.show()

出力:

Matplotlib Python でラインスタイルを設定する

プロットの線のスタイルを -. に設定します。

Matplotlib Linestyle のドキュメントには、線スタイルをより洗練された形で制御するための辞書が用意されています。ドキュメントによると、(offset, (on_off_seq)) タプルを用いて線のスタイルを設定することができます。

import math
import numpy as np
import matplotlib.pyplot as plt

from collections import OrderedDict

linestyles_dict = OrderedDict(
    [
        ("solid", (0, ())),
        ("loosely dotted", (0, (1, 10))),
        ("dotted", (0, (1, 5))),
        ("densely dotted", (0, (1, 1))),
        ("loosely dashed", (0, (5, 10))),
        ("dashed", (0, (5, 5))),
        ("densely dashed", (0, (5, 1))),
        ("loosely dashdotted", (0, (3, 10, 1, 10))),
        ("dashdotted", (0, (3, 5, 1, 5))),
        ("densely dashdotted", (0, (3, 1, 1, 1))),
        ("loosely dashdotdotted", (0, (3, 10, 1, 10, 1, 10))),
        ("dashdotdotted", (0, (3, 5, 1, 5, 1, 5))),
        ("densely dashdotdotted", (0, (3, 1, 1, 1, 1, 1))),
    ]
)

x = np.linspace(0, 2 * math.pi, 100)
y = np.sin(x)

plt.plot(x, y, linestyle=linestyles_dict["loosely dashdotdotted"])
plt.xlabel("x")
plt.ylabel("sinx")
plt.title("Sinx Function")
plt.show()

出力:

辞書を使った Matplotlib Python でのラインスタイルの設定

linestyles_dict 辞書を用いて linestyle を設定します。ラインスタイルを設定したいキーを選択し、そのキーの値を linestyles_dict 辞書の linestyle パラメータとして plot() メソッドに渡すことができます。

著者: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

関連記事 - Matplotlib Line