python はとても優秀なプログラミング言語で、ネット上にサンプルも多く、ほとんどコピペで動くものもたくさんありとても重宝していました。
表集計ソフトにデータを保存しておいてそれを元にグラフを書きます。
ケーナの練習時間を ods(LibreOffice ドキュメント) に記録しています。
それを読み込んでグラフにします。
こんな感じのデータです。
このデータから python を使ってグラフを描画します。
import matplotlib.pyplot as pltimport pandas as pdimport matplotlib.dates as mdates
# データ読み込みdf = pd.read_excel( '/home/mituo/ドキュメント/ケーナ練習記録/ケーナ練習記録.ods', engine="odf", sheet_name="Sheet1")
# 列名を英語にdf.rename(columns={"日付": "date", "練習時間": "daily_training", "累積時間": "total_training"}, inplace=True)
# 型変換df["date"] = pd.to_datetime(df["date"], errors="coerce")df["daily_training"] = pd.to_numeric(df["daily_training"], errors="coerce")df["total_training"] = pd.to_numeric(df["total_training"], errors="coerce")
x = df.datey1 = df.daily_trainingy2 = df.total_training
# --- 横幅を1200pxにする設定 ---target_width_px = 1200dpi = 150width_inch = target_width_px / dpiheight_inch = 6
# グラフ作成fig, axes = plt.subplots(2, 1, figsize=(width_inch, height_inch))
axes[0].bar(x, y1)axes[0].set_title("練習時間(1日)", fontsize=10)
axes[1].plot(x, y2) # markerなしaxes[1].set_title("合計練習時間", fontsize=10)
# 日付を見やすくfor ax in axes: ax.xaxis.set_major_formatter(mdates.DateFormatter("%m-%d"))
# 日付ラベル回転fig.autofmt_xdate()
# --- ここが重要 ---fig.canvas.draw() # レイアウトを確定fig.tight_layout() # 再調整fig.savefig("Kena_record.png", dpi=dpi, bbox_inches="tight")
plt.show()plt.close(fig)
実行すると以下のような画像が自動的に作成されます。
ダイエットしているのですが、酒を割とたくさん飲むので思い通りに体重が減りません。
でも、体重の記録はダイエットを続けるモチベーションになるのでこれもなるべく記録するようにしています。
import matplotlib.pyplot as pltimport pandas as pd
class Diet(): def __init__(self): self.book = 'diet.ods' # 絶対パス self.outfile = 'dietrecord.png' # 絶対パス
def draw(self): df = pd.read_excel( self.book, engine="odf", sheet_name="Sheet1" )
# 列名を英語に変換 df.rename(columns={"日付": "date", "体重": "BW"}, inplace=True)
x = df.date y = df.BW
# --- 横幅を1200pxにする設定 --- target_width_px = 1200 dpi = 150 # 軽さと画質のバランス width_inch = target_width_px / dpi height_inch = 6 # 縦はお好みで
# グラフ作成 fig, ax = plt.subplots(figsize=(width_inch, height_inch)) ax.plot(x, y) ax.set_title("体重(Kg)", fontsize=10) fig.autofmt_xdate()
fig.savefig(self.outfile, dpi=dpi)
if __name__ == '__main__': diet = Diet() diet.draw()
実行すると、
最近、豆腐お好み焼きでダイエットしているつもりなのですが、効果は今のところ少しだけのようです。
一昨年、アサヒスーパードライの生ジョッキ缶というのを妻が発見して、以来猛暑もあってほぼ毎日飲むようになってしまいました。 でも今では猛暑関係なく、冬でも飲むんですけどね。 このビールには中毒性があるようで、やめられなくなってしまいました。
カロリーは低いのですが、累積するとそれなりのカロリーにはなるので、しかも食欲を増進するのでダイエットするなら一旦断酒した方がいいとは思いますが、 とても美味しいのでそれはかなり困難です。