本記事では、Python / matplotlibでグラフに円単位の文字を入れる方法をご説明します。
Pythonの実行環境
今回は、以下の実行環境でプログラムを実行しています。
・Python 3.7.6
・Jupyterlab 1.2.6
・Pandas:1.1.2
・matplotlib:3.3.2
実例としては、次のような予算管理表を使います。
ファイル名は「テストデータ.xlsx」で、シート名は「予算管理表」です。
■予算管理表
まずは、ライブラリをインポートし、今回扱う予算管理表をdfとして読み込んでおきます。
import pandas as pd
import matplotlib.pyplot as plt
import japanize_matplotlib
%matplotlib inline
df = pd.read_excel('テストデータ.xlsx', sheet_name = '予算管理表')
Python/matplotlibでグラフに円単位の文字を入れる方法
テストデータのような予算管理表を年度毎に合計額を棒グラフにしたとき、グラフの枠外に円単位を入れたくなりますよね。
この時は、次のように書きます。
year_list = ['2021年度', '2022年度','2023年度']
#横軸の値
x = year_list
#縦軸の値
y = [df[year].sum() for year in year_list]
#グラフの作成
ax.bar(x, y, color='lightsteelblue', width=.5)
#グラフのタイトル、軸ラベルを設定
ax.set_title('予算の推移')
ax.set_xlabel('年度')
ax.set_ylabel('予算額')
#グラフの座標を設定
ax.grid(axis='x', color='blue', lw=0.5, linestyle='--', alpha = 0.2)
ax.grid(axis='y', color='blue', lw=0.5, linestyle='--', alpha = 0.2)
#円単位の追加
fig.text(0.9, 0.9, '単位:千円', ha='right', va='center')
円単位の設定は、最後のコードとなります。fig.text()で設定しています。
その他のコードは、次の記事で解説しています。
fig.text()の引数の設定としては、次の通りとなります。
・第一引数:横の位置。1がグラフの右端になる
・第二引数:縦の位置。1がグラフの一番上になる
・ha:左右揃え。'left','center','right'から指定となる。
・va:上下揃え。'top','center','bottom','baseline'から指定
結果は、次のようになり、円単位がちょうどいい場所に表示されています。
円単位を設定するのは、大体が右上が多いので、今回使っている
fig.text(0.9, 0.9, '単位:千円', ha='right', va='top')
は覚えるより、コピペで使い回しで良いです。グラフの右上にいい感じの位置で、円単位が表示されます。
以上、Python / matplotlibでグラフに円単位の文字を入れる方法を説明してきました。
最後まで読んでいただき、ありがとうございました。