matplotlibで階段状にグラフを描写する方法をまとめました。stepを使ったプロットで
1行で簡単にできますので、ぜひ習得してください
本日の伝えたいこと
✔ pythonで時系列データのグラフを作るときは、 STEPプロットすること
困ったこと
Pythonのmatplotlibでグラフを書くと、データの継ぎ目が線形補間されて
正しい情報を表現できていない
内容
matplotlibには、step()というプロット方法が実はある
※この方法を知らない人が多い気がする。私も最近知った
メリット
嘘偽りのないグラフが描ける。
(線形補間してしまうと、受信していない値を生み出してしまっている)
解決方法
プロットの際、plt.plot()ではなく、plt.step()を使用する。
※whereの違いについては下記サンプルにてわかりやすく説明されている
結論だけいうと、post以外使わないと思う

Step Demo — Matplotlib 3.1.0 documentation
※csvデータをdataframe型にする部分は端折って説明する
fig, [[ax1, ax2], [ax3, ax4], [ax5, ax6]] = plt.subplots(
3, 2, sharex=True, figsize=(
20, 11), facecolor=”black”)
ax1.step(
df[“時間”],
df[“xxx”],
where=’post’)
plt.show()
実際の現場で求められること
そんな細かいところ見えないし、どっちでもいいだろ!
と思うかもしれないが、情報を正しく理解しているかどうかの
結果の出方の差が小さいだけなのだ。
ぜひとも、注意してほしい。
あっ。あと縦軸、横軸には軸名と単位は忘れず書くとさらに好感度UP
まとめ
✔ pythonで時系列データのグラフを作るときは、 STEPプロットすると上司や先輩がうなる。
コメント