Python
 Computer >> コンピューター >  >> プログラミング >> Python

PythonのXlsxWriterモジュールでExcelシートに円グラフを作成する方法

円グラフ(パイチャート)は、数値的な割合を視覚的に表現するために、円を複数のスライス(扇形)に分割した統計グラフです。各スライスの弧の長さは、そのスライスが表すデータの量に比例します。

サンプルコード

以下は、PythonのXlsxWriterモジュールを使用して、Excelワークシートに円グラフを挿入する例です。

# xlsxwriterモジュールをインポート
import xlsxwriter

# Workbook()には、作成したいファイル名という必須引数を1つ渡します。
workbook = xlsxwriter.Workbook('chart_pie.xlsx')

# workbookオブジェクトを使い、add_worksheet()メソッドで新しいワークシートを追加します。
worksheet = workbook.add_worksheet()

# add_format()メソッドで、セルの書式を設定するFormatオブジェクトを作成します。
# ここでは太字フォーマットオブジェクトを作成しています。
bold = workbook.add_format({'bold': 1})

# データリストを作成します。
headings = ['Category', 'Values']
data = [
    ['Apple', 'Cherry', 'Pecan'],
    [60, 30, 10],
]

# 「A1」を起点に、太字フォーマットで見出し行を書き込みます。
worksheet.write_row('A1', headings, bold)

# A2、B2列にそれぞれデータを書き込みます。
worksheet.write_column('A2', data[0])
worksheet.write_column('B2', data[1])

# add_chart()メソッドで、ワークシートに挿入できるチャートオブジェクトを作成します。
# ここでは円グラフオブジェクトを作成しています。
chart1 = workbook.add_chart({'type': 'pie'})

# add_series()メソッドでチャートにデータ系列を追加します。
# 最初の系列を設定します。
# [シート名, 開始行, 開始列, 終了行, 終了列] の形式で範囲を指定します。
chart1.add_series({
    'name':       'Pie sales data',
    'categories': ['Sheet1', 1, 0, 3, 0],
    'values':     ['Sheet1', 1, 1, 3, 1],
})

# チャートのタイトルを設定します。
chart1.set_title({'name': 'Popular Pie Types'})

# Excelのチャートスタイルを設定します。白い輪郭と影付きの配色になります。
chart1.set_style(10)

# オフセットを指定してチャートをワークシートに挿入します。
# チャートの左上隅がセルC2に固定されます。
worksheet.insert_chart('C2', chart1, {'x_offset': 25, 'y_offset': 10})

# 最後にclose()メソッドでExcelファイルを閉じます。
workbook.close()

コードの解説

このコードを実行すると、カレントディレクトリに「chart_pie.xlsx」という名前のExcelファイルが生成されます。ファイルを開くと、「Apple」「Cherry」「Pecan」という3つのカテゴリの売上構成比を示す円グラフが表示されます。

処理の流れと主なポイントは以下の通りです。

  • add_chart({'type': 'pie'}):円グラフタイプのチャートオブジェクトを作成します。
  • add_series():categories(カテゴリ名)とvalues(数値)のセル範囲を指定して、データ系列を定義します。
  • set_title():チャートにタイトルを設定します。
  • set_style(10):Excel標準のスタイル番号を指定し、グラフの見た目を整えます。
  • insert_chart():基準となるセルを指定し、x_offset・y_offsetで位置を微調整しながらチャートを配置します。

XlsxWriterを使えば、コードだけで集計データとグラフを組み合わせたExcelレポートを自動生成できるため、定型業務の効率化に非常に役立ちます。

  1. PythonのXlsxWriterモジュールでExcelワークシートにグラフを挿入する方法

    Pythonには標準ライブラリ以外にも、個人開発者によって作られた優れた外部ライブラリが数多く存在し、Pythonにさまざまな追加機能をもたらしています。XlsxWriterもそのひとつで、Pythonプログラムのデータを含むExcelファイルを作成できるだけでなく、グラフ(チャート)の作成にも対応しています。 円グラフの作成手順 以下の例では、xlsxwriterを使って円グラフを作成します。処理の流れは以下のとおりです。 まずワークブックを定義し、その後にワークシートを追加します。 次にプロットするデータを定義し、Excelファイルのどの列にデータを書き込むかを指定します。 その列を参照

  2. PythonのopenpyxlモジュールでExcelファイルを読み書きする方法【初心者向け完全ガイド】

    Pythonには、Excelファイル(.xlsx)を操作するためのopenpyxlという便利なモジュールが用意されています。このモジュールを使えば、Excelファイルの新規作成、データの書き込み・読み取り、シートの追加や管理など、さまざまな操作をプログラムから自動的に行うことができます。 本記事では、openpyxlの基本的な使い方を、実際に動作するサンプルコードとともに順番に解説していきます。 openpyxlのインストール方法 openpyxlは標準ライブラリではないため、まずインストールが必要です。コマンドプロンプト(またはターミナル)で以下のコマンドを実行してください。 pip ins