物理学者(ポスドク)による日々の研究生活のメモ書きです ( python/emacs/html/Japascript/シェルスクリプト/TeX/Mac/C言語/Linux/git/tmux/R/ポケモンGO)
■ 点線の補助線
■ 参考 : 【Python@matplotlib】matplotlib にて横、縦の補助線を描く方法について
上の例では
fig, ax = plt.subplots(figsize=(5,5))
のようにaxとか書いてるけど、それしなくてもいけるっぽい
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の代わりに配列でも使える
これでプロットした例↓
(2022/02/02 追記)
この方法だと、始点と終点をどっちも指定する必要がある
それをしなくていい方法として、
■ 参考 : グラフに縦線・横線を引く方法【matplotlib】
xminとxmaxはオプションなので、
plt.axhline(y=2)とか書くだけで、直線が引ける
楽。
■ 領域塗りつぶしプロット
■ 参考 : Fill between two vertical lines in matplotlib
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の範囲を追加することもできる
プロット例↓
(2019/07/05 追記)
ヒストグラムにこの点線を引くときは、予めヒストグラムの最大値と最小値を知っていないと点線の範囲をきちんと指定できない
ヒストグラムの最小値と最大値を取得して、それを点線の範囲に代入してやればいい
■ 参考 : Python+Matplotlibでグラフに対して追加で縦線や横線を書く話
ツイート
■ 参考 : 【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
使ってる関数の説明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の代わりに配列でも使える
これでプロットした例↓
(2022/02/02 追記)
この方法だと、始点と終点をどっちも指定する必要がある
それをしなくていい方法として、
■ 参考 : グラフに縦線・横線を引く方法【matplotlib】
# 水平線
matplotlib.pyplot.axhline(y=0, xmin=0, xmax=1)
# 垂直な線
matplotlib.pyplot.axvline(x=0, ymin=0, ymax=1)
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")
使ってる関数の説明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の範囲を追加することもできる
プロット例↓
(2019/07/05 追記)
ヒストグラムにこの点線を引くときは、予めヒストグラムの最大値と最小値を知っていないと点線の範囲をきちんと指定できない
ヒストグラムの最小値と最大値を取得して、それを点線の範囲に代入してやればいい
■ 参考 : 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')
みたいな感じplt.vlines(0.05, 0, [v[0].max()+2], color="orange", linestyles='dashed')
PR
この記事にコメントする
プロフィール
HN:coffee
職業:物理屋(自称)
趣味:映画鑑賞、登山
出身:大阪府の南の田舎
自己紹介:
import MyProfile
import coffee_pote from TWITTER
import amazonのほしい物リスト from WISH_LIST
print "先月子供が産まれました!"
# 最終更新 2022/10/25
職業:物理屋
趣味:映画鑑賞、登山
出身:大阪府の南の田舎
自己紹介:
import MyProfile
import coffee_pote from TWITTER
import amazonのほしい物リスト from WISH_LIST
print "先月子供が産まれました!"
# 最終更新 2022/10/25
カテゴリー
ブログ内検索
リンク
相互リンク募集中です
(Twitterにてお知らせください)
Demo scripts for gnuplot version 5 (gnuplotのさまざまなデモ画像と作り方がまとめられている、眺めているだけでできるようになった気分になれる)
gnuplotスクリプトの解説 (米澤進吾さんの個人ページ、gnuplotと言えばこのかた)
gnuplot のページ (Takeno Lab、うちのブログがリンクされていたのでリンク返し)
Twitterから映画の評価が分かる & 映画の鑑賞記録が残せる coco (映画の感想をまとめられるサイト、いつもお世話になっています)
Astronomy Picture of the Day Archive (天文や宇宙関連の最新の話題について画像とともにNASAが説明しているページ)
今日のほしぞら (任意の時刻の空で見える星を表示してくれる、国立天文台が管理している)
GNUPLOTとアニメーション (応用の項目の「見せてあげよう!ラピュタの雷を!!」あたりからすごすぎる)
読書メーター (読んだ本をリストできる便利なサイト)
flickr難民の写真置き場 (20XX年、flickrは有料化の炎に包まれた。あらゆるflickr無料ユーザーは絶滅したかに見えた。 しかし、tumblr移住民は死に絶えてはいなかった。)
教授でもできるMac OS X へのLaTeX, X11, gccのインストレーションと環境設定 (阪大の山中卓さんのwebページ、タイトルにセンスが溢れている、内容は超充実してる、特にTeX関連、学振DCとかPDの申請書類作成時にはお世話になっております)
英語論文執筆用の例文検索サービス (とんでもないものを見つけてしまった・・・・ arXivに収録されている 811,761報の 英語論文から,例文を検索するための検索エンジン)
Demo scripts for gnuplot version 5 (gnuplotのさまざまなデモ画像と作り方がまとめられている、眺めているだけでできるようになった気分になれる)
gnuplotスクリプトの解説 (米澤進吾さんの個人ページ、gnuplotと言えばこのかた)
gnuplot のページ (Takeno Lab、うちのブログがリンクされていたのでリンク返し)
Twitterから映画の評価が分かる & 映画の鑑賞記録が残せる coco (映画の感想をまとめられるサイト、いつもお世話になっています)
Astronomy Picture of the Day Archive (天文や宇宙関連の最新の話題について画像とともにNASAが説明しているページ)
今日のほしぞら (任意の時刻の空で見える星を表示してくれる、国立天文台が管理している)
GNUPLOTとアニメーション (応用の項目の「見せてあげよう!ラピュタの雷を!!」あたりからすごすぎる)
読書メーター (読んだ本をリストできる便利なサイト)
flickr難民の写真置き場 (20XX年、flickrは有料化の炎に包まれた。あらゆるflickr無料ユーザーは絶滅したかに見えた。 しかし、tumblr移住民は死に絶えてはいなかった。)
教授でもできるMac OS X へのLaTeX, X11, gccのインストレーションと環境設定 (阪大の山中卓さんのwebページ、タイトルにセンスが溢れている、内容は超充実してる、特にTeX関連、学振DCとかPDの申請書類作成時にはお世話になっております)
英語論文執筆用の例文検索サービス (とんでもないものを見つけてしまった・・・・ arXivに収録されている 811,761報の 英語論文から,例文を検索するための検索エンジン)
最新記事
(11/20)
(03/05)
(02/29)
(02/21)
(02/21)
(02/21)
(02/21)
(01/13)
(01/05)
(01/05)