Python × グラフ

Python/matplotlibでグラフ内に文字とボックスを入れる方法

本記事では、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でグラフ内に文字を入れる方法

Pythonでグラフを作成する時、何か文字を入れたいってことよくありますよね。

Pythonで作ったグラフを画像にして、パワポやExcelで文字を上につけるってこともできますが、、なかなか面倒。。

Pythonでグラフ内に文字を入れる方法を紹介します。

 

グラフ内に文字を挿入したPythonのコードは次のようになります。

#グラフのオブジェクトを定義
fig, ax = plt.subplots(figsize=(8, 4))

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)

#文字の挿入
ax.text(x=2, y=17000, s='予算は減少傾向', color='black', ha='center', fontsize='13')

 

文字の挿入は、コードの最後の部分となります。ax.text()で設定しています。

その他のコードは、次の記事で解説しています。

参考Pythonで棒グラフを作成する

ax.text()の引数の設定としては、次の通りとなります。
※引数は他にもありますが、最小限のものをピックアップしてます。

・x, y:文字を入れる位置

・s:挿入する文字

・color:文字の色

・ha:'center'は中央揃え('left':左揃え、'right':右揃え)

・fontsize:文字の大きさ

結果は、次のようになります。

 

文字挿入1

 

グラフ内に、「予算は減少傾向」と表示されています。

グラフをただ作るだけではなく、一言伝えたい言葉を挿入するのはビジネスでも大事ですね。

 

 

Python/matplotlibでグラフ内に文字ボックスを入れる方法

グラフ内に文字を入れるだけだとシンプル過ぎて、あまり目立たないこともあります。

次は、文字に枠・ボックスをつける方法を紹介します。

パワポやExcelでいうと、オブジェクトを挿入して、そこに文字を書くイメージです。

文字を囲むボックスを入れるには次のように書きます。

 

#ボックス作成
dic_box = {
    'facecolor' : 'lightblue',
    'edgecolor' : 'black',
    'boxstyle' : 'Round, pad=0.8',
    'linewidth' : 1
}

#文字とボックスの挿入
ax.text(x=2, y=17000, s='予算は減少傾向', 
        color='black', ha='center', fontsize='13', 
        bbox=dic_box)

 

ax.text()の引数として、bboxをdict型で設定します。

 

bboxの主な設定内容は次の通りです。

・facecolor:ボックスの内部の色

・edgecolor:挿入する文字

・boxstyle:枠の種類と余白の大きさ。デフォルトは四角。'Round'で丸みを出す

・linewidth:ボックスの枠の太さ

 

グラフは次のようになります。

文字ボックス挿入 python
文字を囲んだボックスが表示されています。

これで、文字が強調され、グラフで伝えたいことのインパクトがアップしましたね。

 

こんな感じでグラフに文字とボックスを入れて一工夫するだけで、伝わりやすさが一段と上がります!

 

仕事でもグラフをただ作るだけでなく、文字を挿入して一言添えてみましょう

 

以上、Python / matplotlibでグラフ内に文字、ボックスを入れる方法を説明してきました。

 

最後まで読んでいただき、ありがとうございました。

よく読まれている記事

insta-auto-post 1

  インスタって自動で投稿できないのかな。いつもスマホで投稿するの大変だし・・ Pythonを使えば、インスタで自動で投稿できるよ!!特別に紹介するね ...

python-consult_1 2

  AI・機械学習、データサイエンティスト、、やっぱりこれからの時代Pythonは勉強すべきだよね!   その通り。Pythonは今後も伸び ...

【保存版】PythonでできるExcel操作のまとめ一覧 3

  Excelで作業するのって大変だな〜 なにか楽な方法ないかな〜   Excelの集計や単純作業は、Pythonで楽にできるよ!!この一覧 ...

python-works 4

ここでは、サイト管理者のいなサラがこれまでPythonで作ったものをご紹介します。 以下のリンクで、実際の作り方やソースコードを公開しているので、ぜひ参考にして ...

-Python × グラフ

© 2023 inasala note