点線の補助線
■ 参考 : 【Python@matplotlib】matplotlib にて横、縦の補助線を描く方法について
上の例では
fig, ax = plt.subplots(figsize=(5,5))
のようにaxとか書いてるけど、それしなくてもいけるっぽい
xdata = np.arange(0, 6.28, 0.1) ydata = np.sin(xdata) plt.figure(figsize=(10,6)) plt.plot(xdata, ydata) plt.hlines(0.8, -0.8, 0.8, "blue", linestyles='dashed') # hlines plt.vlines([2, 3], -0.8, 0.8, "red", linestyles='dashed') # vlines
使ってる関数の説明
plt.hlines(yvalue, xmin, xmax, "blue", linestyles='dashed')
って感じ
yvalueのところにx軸に平行な直線をxmin~xmaxまで引く
plt.vlinesはその逆で
plt.vlines(xvalue, ymin, ymax, "red", linestyles='dashed')
xvalueのところにy軸に平行な直線をymin~ymaxまで引く
1つの値xvalueの代わりに配列でも使える
プロット例

(追記)
この方法だと、始点と終点をどっちも指定する必要がある
それをしなくていい方法として、
■ 参考 : グラフに縦線・横線を引く方法【matplotlib】
# 水平線 matplotlib.pyplot.axhline(y=0, xmin=0, xmax=1) # 垂直な線 matplotlib.pyplot.axvline(x=0, ymin=0, ymax=1)
xminとxmaxはオプションなので、
plt.axhline(y=2)とか書くだけで、直線が引ける
楽。
領域塗りつぶしプロット
■ 参考 : Fill between two vertical lines in matplotlib
xdata = np.arange(0, 6.28, 0.1) ydata = np.sin(xdata) plt.figure(figsize=(10,6)) plt.plot(xdata, ydata) plt.axvspan(2, 4, alpha=0.2, color="red")
使ってる関数の説明
plt.axvspan(xmin, xmax, alpha=0.2, color="red")
xmin~xmaxに帯を置く
(ここからオプション)
alphaを設定しないと、塗りつぶしなしの帯になる
colorで色を選択できる
他にも
plt.axvspan(xmin, xmax, ymin=0, ymax=1, alpha=0.2, color="red")
みたいにyの範囲を追加することもできる
プロット例

(追記)
ヒストグラムにこの点線を引くときは、予めヒストグラムの最大値と最小値を知っていないと点線の範囲をきちんと指定できない
ヒストグラムの最小値と最大値を取得して、それを点線の範囲に代入してやればいい
■ 参考 : Python+Matplotlibでグラフに対して追加で縦線や横線を書く話
v = plt.hist(plist, bins=40, range=(0, 1), color="green") plt.vlines(0.05, 0, [v[0].max()+2], color="orange", linestyles='dashed')
みたいな感じ
ランキング参加中です
↓クリックしていただけると嬉しいです〜