1. ホーム
  2. パイソン

[解決済み] matplotlib で、与えられたプロットに垂直線を引く方法

2022-03-24 09:06:55

質問

信号を時間軸で表したプロットがあるとき、対応する時間指標を示す線を引くにはどうしたらよいか?

具体的には、時間インデックスが0から2.6(s)までの信号プロットが与えられたとき、対応する時間インデックスを示す縦の赤い線をリストに対して引きたいのです。 [0.22058956, 0.33088437, 2.20589566] どうすればいいのでしょうか?

どのように解決するのですか?

プロットウィンドウ全体を覆う垂直線を、実際の高さを指定することなく追加する標準的な方法は、次のとおりです。 plt.axvline

import matplotlib.pyplot as plt

plt.axvline(x=0.22058956)
plt.axvline(x=0.33088437)
plt.axvline(x=2.20589566)

または

xcoords = [0.22058956, 0.33088437, 2.20589566]
for xc in xcoords:
    plt.axvline(x=xc)

他のプロットコマンドで利用可能な多くのキーワードを使用することができます (例えば color , linestyle , linewidth ...). キーワード引数を渡すことができる yminymax 軸の座標が好きな場合(例. ymin=0.25 , ymax=0.75 はプロットの中央半分をカバーします)。 水平線に対応する関数もあります ( axhline ) と長方形 ( axvspan ).