openpyxlでグラフを作成する方法を紹介します。今回は円グラフの作成方法を紹介します。
その他のグラフの作成方法はこちらをご覧ください。棒グラフ作成、折れ線グラフ作成
目次
1.アウトプットイメージ
まずはイメージを掴んでもらうため、完成グラフとコードを紹介します。

import openpyxl
#円グラフ、適応範囲を設定するのに必要なクラスのインポート
from openpyxl.chart import PieChart, Reference
#グラフの基となるデータファイルのロード
wb = openpyxl.load_workbook('C:/Users/1/Desktop/python/openpyxl/円グラフ作成.xlsx')
ws = wb['円グラフ']
aria = Reference(ws, min_col=1, min_row=2, max_row=8)
num = Reference(ws, min_col=2, min_row=2, max_row=8)
chart = PieChart()
chart.height =10; chart.width = 15
chart.title = '対象人数'
chart.add_data(num)
chart.set_categories(aria)
ws.add_chart(chart, 'E3')
wb.save('C:/Users/1/Desktop/python/openpyxl/円グラフ作成.xlsx')
2.コードの説明
※コード説明前の注意事項
本記事ではopenpyxl 3.1.2の環境で実行しています。
以前3.1.5で実行した際にx軸、y軸の数字が表示されないなど、意図通りに動かないことがありましたので、必要に応じて3.1.2をインストールしてください。
pip uninstall openpyxl:現在のopenpyxlをアンインストール
pip install openpyxl==3.1.2:3.1.2のインストール
ここからコードの説明です。
from openpyxl.chart import PieChart, Reference
円グラフ作成と参照範囲を指定する際に必要なクラスです。基本的に円グラフを作成する際は使用します。
aria = Reference(ws, min_col=1, min_row=2, max_row=8)
num = Reference(ws, min_col=2, min_row=2, max_row=8)
それぞれA列、B列の参照範囲を示しています。”aria”がA2~A8、”num”がB2~B8のデータを参照しています。(col=列、row=行)
chart = BarChart() :変数chartに円グラフを定義。
chart.height =10; chart.width = 15 :グラフのサイズを高さ10、幅15に指定。
chart.title = ‘対象人数’ :グラフタイトルを定義。
chart.add_data(num) :取得したB列の値を追加。
chart.set_categories(aria) :取得した月を横軸に登録。
ws.add_chart(chart, ‘E3’) :グラフの左上をE3に設定。
3.終わりに
openpyxlでの円グラフ作成のしかたを紹介しました。基本的な円グラフ作成のコードは短いですが設定できる項目は色々あるので、そちらは別途一覧として紹介したいと思います。

コメントを残す