Matplotlibで横軸が等間隔でないグラフを描画

Pocket

Pythonでグラフを書くにはMatplotlibを使うのが定番のようです。
体重の推移のグラフを描こうと思います。
Matplotlibだけでなくグラフを描画するツールは横軸、日付が等間隔であることが前提です。
しかし、体重の記録って、日付が等間隔じゃないでしょう。毎日、記録しますか?
そこで横軸が等間隔でない場合の方法を調べてみました。

import matplotlib.pyplot as plt
import matplotlib.dates as mdates
import datetime

# 元となるデータ
dates = ["2020-01-15", "2020-01-17", "2020-01-20", "2020-01-23", "2020-01-24", "2020-01-25"]
weights = [71.0, 72.5, 72.2, 73.3, 71.9, 72.4]
# 日付の変換
datetimes = []
for d in dates:
  dt = datetime.datetime.strptime(d, "%Y-%m-%d")
  datetimes.append(dt)
# 準備
ax = plt.subplot()
# 横軸の書式
ax.xaxis.set_major_formatter(mdates.DateFormatter("%m/%d"))
# 開始日 終了日
ax.set_xlim(min(datetimes), max(datetimes))
# 最小値 最大値
ax.set_ylim(min(weights), max(weights))
# 描画
ax.plot(datetimes, weights)
plt.show()

[ 2020年6月9日 | カテゴリー: Python, デジタル | タグ: ]

« | »

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

送信してください。


タグ

カテゴリー

最近の投稿

最近のコメント

固定ページ

アーカイブ

stabucky

写真

メタ情報