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でグラフ内に文字、ボックスを入れる方法を説明してきました。

 

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

よく読まれている記事

se-shikaku 1

  社内SEになるには資格って必要?社内SEでキャリアップするときにおすすめの資格は? 回答としては、 社内SEは、対人スキル、実務での対応力や最新情 ...

社内SEの仕事内容 2

  社内SEってどんな仕事なんだろ~ 検索しても転職サイトの記事ばかりでよく分からない・・   確かにそうですね。。実経験を基に、社内SE( ...

side-work-trial 3

  コロナで会社の経営も不安。。個人でお金稼ぎたいな~ 今、こう考えるサラリーマン、OLの方はごまんといると思います。   僕は、本業では社 ...

adsense-pass 4

【3記事で一発合格】Google AdSense申請に合格したブログ情報 こんにちは、いなサラ(@いなサラ|田舎の情シスサラリーマン)です。 2019年10月5 ...

-Python × グラフ

© 2020 inasala note