Matplotlib で水平線と垂直線をプロットする方法
胡金庫
2023年1月30日
-
Matplotlib で水平線と垂直線をプロットするための
axhline
とaxvline
-
Matplotlib で水平線と垂直線をプロットするための
hlines
とvlines
- Matplotlib での水平線と垂直線の描画の結論
このチュートリアルでは、Matplotlib で水平線と垂直線を描画する 2つの方法を紹介します。これら 2つの方法は、Matplotlib で異なる座標を使用します。
axhline()
/axvline()
hlines()
/vlines()
Matplotlib で水平線と垂直線をプロットするための axhline
と axvline
axhline
で水平線をプロットする
matplotlib.pyplot.axhline(y=0, xmin=0, xmax=1, hold=None, **kwargs)
axhline
は、水平線のデータ座標の y
の位置に、0.0
から 1.0
の間の xmin
から xmax
までの水平線をプロットします。0.0
はプロットの左側と 1.0
はプロットの右端です。
from matplotlib import pyplot as plt
xdata = list(range(10))
ydata = [_ * 2 for _ in xdata]
plt.plot(xdata, ydata, "b")
plt.axhline(y=5, xmin=0.1, xmax=0.9)
plt.grid()
plt.show()
axvline
で垂直線をプロットする
同様に、
matplotlib.pyplot.axvline(x=0, ymin=0, ymax=1, hold=None, **kwargs)
axvline
は、垂直線のデータ座標の x
の位置に、ymin
から ymax
までの 0.0
から 1.0
までの垂直線をプロットします。プロットの 1.0
がプロットの上部です。
from matplotlib import pyplot as plt
xdata = list(range(10))
ydata = [_ * 2 for _ in xdata]
plt.plot(xdata, ydata, "b")
plt.axvline(x=5, ymin=0.1, ymax=0.9)
plt.grid()
plt.show()
上記のように、xmin
/xmax
および ymin
/ymax
はプロットを参照しますが、データ行は参照しません。
したがって、プロットをズームインまたはズームアウトすると、水平線と垂直線の開始点と終了点はデータ座標への参照で更新されますが、プロット座標内の相対位置に固定されます。以下のアニメーションを確認して、理解を深めることができます。
Matplotlib で水平線と垂直線をプロットするための hlines
と vlines
プロットされた水平線と垂直線を自動的に変更してデータ座標に対する相対位置を維持する場合は、ラインをプロットするために hlines
と vlines
を使用する必要があります。
hlines(y, xmin, xmax)
ここで、y
、xmin
、xmax
はデータ座標の値です。
vlines(x, ymin, ymax)
ここで、x
、ymin
、ymax
はデータ座標の値です。
以下のコード例を見てみましょう。
from matplotlib import pyplot as plt
xdata = list(range(10))
ydata = [_ * 2 for _ in xdata]
plt.plot(xdata, ydata, "b")
plt.hlines(y=5, xmin=0, xmax=10)
plt.vlines(x=5, ymin=0, ymax=20)
plt.grid()
plt.show()
Matplotlib での水平線と垂直線の描画の結論
プロットを参照するラインが必要な場合、axhline
と axvline
がより良いオプションです。
線をデータ座標に固定したい場合、hlines
と vlines
がより良い選択です。
著者: 胡金庫