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 = 15chart.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での円グラフ作成のしかたを紹介しました。基本的な円グラフ作成のコードは短いですが設定できる項目は色々あるので、そちらは別途一覧として紹介したいと思います。

コメントを残す