Matplotlib で任意の線を描く

  1. matplotlib.pyplot.plot.plot() メソッドを用いて任意の線を描画する
  2. Matplotlib hlines()vlines() メソッドを用いた任意の線の描画
  3. matplotlib.collections.LineCollection を用いて任意の直線を描画する
Matplotlib で任意の線を描く

このチュートリアルでは、matplotlib.pyplot.plot() メソッド、matplotlib.pyplot.vlines() メソッド、または matplotlib.pyplot.hlines() メソッドと matplotlib.collections.LineCollection を使って、Matplotlib で任意の線を描画する方法を説明します。

matplotlib.pyplot.plot.plot() メソッドを用いて任意の線を描画する

単純に matplotlib.pyplot.plot() メソッドを用いて線を描画することができます。(x1,y1) から始まり、(x2,y2) で終わる直線を描画する一般的な構文は以下の通りです。

plot([x1, x2], [y1, y2])
import matplotlib.pyplot as plt

plt.plot([3, 5], [1, 6], color="green")
plt.plot([0, 5], [0, 5], color="red")
plt.xlabel("X")
plt.ylabel("Y")
plt.title("Plot with 2 arbitrary Lines")
plt.show()

出力:

Matplotlib はプロットメソッドを用いて任意の線を描画する

図中に任意の 2 本の線を描きます。緑の色で表される 1 本目の線は (3,1) から (5,6) まで伸び、赤の色で表される 2 本目の線は (0,0) から (5,5) まで伸びる。

Matplotlib hlines()vlines() メソッドを用いた任意の線の描画

hlines()vlines() メソッドを用いて任意の線を描画する一般的な構文は以下の通りです。

vlines(x, ymin, ymax)
hlines(y, xmin, xmax)
import matplotlib.pyplot as plt

plt.hlines(3, 2, 5, color="red")
plt.vlines(6, 1, 5, color="green")
plt.xlabel("X")
plt.ylabel("Y")
plt.title("Plot arbitrary Lines")
plt.show()

出力:

Matplotlib は hlines と vlines メソッドを使って任意の線を描画する

hlines() メソッドは赤色で水平線を描画します。vlines() メソッドは緑色で垂直線を描画します。

matplotlib.collections.LineCollection を用いて任意の直線を描画する

import matplotlib.pyplot as plt
from matplotlib import collections

line_1 = [(1, 10), (6, 9)]
line_2 = [(1, 7), (3, 6)]

collection_1_2 = collections.LineCollection([line_1, line_2], color=["red", "green"])

fig, axes = plt.subplots(1, 1)
axes.add_collection(collection_1_2)
axes.autoscale()
plt.show()

出力:

Matplotlib は、LineCollection を使用して任意の線を描画する

line_1line_2 から線のコレクションを作成し、そのコレクションをプロットに追加します。

チュートリアルを楽しんでいますか? <a href="https://www.youtube.com/@delftstack/?sub_confirmation=1" style="color: #a94442; font-weight: bold; text-decoration: underline;">DelftStackをチャンネル登録</a> して、高品質な動画ガイドをさらに制作するためのサポートをお願いします。 Subscribe
著者: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

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

LinkedIn

関連記事 - Matplotlib Lines