【Python】棒グラフの挿入と凡例設定|python-pptx基礎

棒グラフの挿入と凡例設定|python-pptx基礎_アイキャッチ プログラミング

※ 当サイトはアフィリエイト広告を利用しています。

levtech-ad
スポンサーリンク

python-pptxを使用すると、Pythonを使用してPowerPointを操作することができます。

本記事では、python-pptxを使用した棒グラフの挿入と凡例設定について、詳しくご説明します。

こんな人に読んでほしい
  • Pythonを使用してPowerPointを操作したい人
  • python-pptxを使用した、棒グラフの挿入・凡例設定方法を知りたい人
levtech-ad

棒グラフの挿入と凡例設定

棒グラフの挿入

棒グラフを挿入するため、まずはpptx.enum.chartモジュールから、グラフの種類に応じたクラス(XL_CHART_TYPE)を選ぶ必要があります。

主要なXL_CHART_TYPEクラスは、以下の通りです。

グラフXL_CHART_TYPEクラス
棒グラフXY_SCATTER
散布図BAR_CLUSTERED
折れ線グラフ(マーカー無)LINE
折れ線グラフ(マーカー有)LINE_MARKERS
円グラフPIE

上表より、棒グラフの挿入には、XY_SCATTERを指定します。

また、グラフのデータを指定するには、ChartDataオブジェクトを作成する必要があります。

棒グラフの場合、CategoryChartDataクラスを指定します。

以下に、上記を指定した棒グラフの挿入例をご紹介します。

#input
from pptx import Presentation
from pptx.chart.data import CategoryChartData
from pptx.enum.chart import XL_CHART_TYPE
from pptx.util import Pt

prs=Presentation()
sld = prs.slides.add_slide(prs.slide_layouts[5])
sld.shapes[0].text = "棒グラフ"

# CategoryChartDataオブジェクト作成
c_data = CategoryChartData()
c_data.categories = ["Apple", "Orange", "Banana"]
c_data.add_series("Sep.", (1305, 2065, 4025))
c_data.add_series("Oct.", (3000, 2700, 1550))
c_data.add_series("Nov.", (2600, 3050, 1600))

left    = Pt(50)
top     = Pt(150)
width   = Pt(600)
height  = Pt(300)

# 棒グラフの挿入
sld.shapes.add_chart(XL_CHART_TYPE.COLUMN_CLUSTERED, left, top, width, height, c_data)
ch = sld.shapes[1].chart

prs.save("sample022.pptx")
棒グラフの挿入

凡例設定

has_legendプロパティをTrueとすることで、凡例を有効にすることができます。

legend.positionプロパティで配置場所(上下左右)を指定します。

legend.include_in_layoutをTrueとすることで、凡例をグラフの中に配置することができます。

以下に、上記を指定した凡例の挿入例をご紹介します。

import collections 
import collections.abc

#input
from pptx import Presentation
from pptx.chart.data import CategoryChartData
from pptx.enum.chart import XL_CHART_TYPE
from pptx.enum.chart import XL_LEGEND_POSITION
from pptx.util import Pt

prs=Presentation()
sld = prs.slides.add_slide(prs.slide_layouts[5])
sld.shapes[0].text = "棒グラフ"

# CategoryChartDataオブジェクト作成
c_data = CategoryChartData()
c_data.categories = ["Apple", "Orange", "Banana"]
c_data.add_series("Sep.", (1305, 2065, 4025))
c_data.add_series("Oct.", (3000, 2700, 1550))
c_data.add_series("Nov.", (2600, 3050, 1600))

left    = Pt(50)
top     = Pt(150)
width   = Pt(600)
height  = Pt(300)

# 棒グラフの挿入
sld.shapes.add_chart(XL_CHART_TYPE.COLUMN_CLUSTERED, left, top, width, height, c_data)
ch = sld.shapes[1].chart

# 凡例設定
ch.has_legend = True
ch.legend.position = XL_LEGEND_POSITION.RIGHT
ch.legend.include_in_layout = False

prs.save("sample023.pptx")
棒グラフの挿入(凡例設定)

まとめ

この記事では、python-pptxを使用した棒グラフの挿入と凡例設定について、ご説明しました。

本記事を参考に、ぜひ試してみて下さい。

参考

Python学習用おすすめ教材

Pythonの基本を学びたい方向け

統計学基礎を学びたい方向け

Pythonの統計解析を学びたい方向け

おすすめプログラミングスクール

Pythonをはじめ、プログラミングを学ぶなら、TechAcademy(テックアカデミー)がおすすめです。

私も入っていますが、好きな時間に気軽にオンラインで学べますので、何より楽しいです。

現役エンジニアからマンツーマンで学べるので、一人では中々続かない人にも、向いていると思います。

無料体験ができますので、まずは試してみてください!

\まずは無料体験!/
スポンサーリンク
タイトルとURLをコピーしました