python-pptxでグラフの凡例ごとに色を固定する方法について紹介したいと思います
Python-pptxの基本的な使い方については下記参照
関連記事:【Python】python-pptxでパワポの資料作成を自動化する
凡例の色を指定する方法
グラフの凡例を色を指定する方法は、chart.series[i].format.line.color.rgbの形式で凡例の色を指定することができます。具体的には、以下のように書くことができます。
chart = slide.shapes.add_chart( XL_CHART_TYPE.COLUMN_CLUSTERED, x, y, cx, cy, chart_data ) chart.has_legend = True # 判例を表示する chart.legend.format.fill.solid() # 判例の背景色を指定 chart.legend.format.fill.fore_color.rgb = RGBColor(100, 100, 100) # 判例の背景色をRGB値で指定(例:グレー)
サンプルコード全体
以下は円グラフで2種類の凡例に対して固定のカラーコードを指定してプロットしています。
from pptx.chart.data import ChartData, CategoryChartData, XyChartData, BubbleChartData from pptx.util import Cm, Pt from pptx import Presentation from pptx.dml.color import RGBColor prs = Presentation() layout = prs.slide_layouts[0] slide = prs.slides.add_slide(layout) # 凡例の色コードを16進数で指定する pie_color_list = ["F15B47", "0067c0"] chart_data = ChartData() chart_data.categories = ['アリ','ナシ' ] chart_data.add_series("Pie", (60, 40)) chart = prs.slides[-1].shapes.add_chart( XL_CHART_TYPE.PIE, x, y, cx, cy, chart_data ).chart for idx, point in enumerate(chart.series[0].points): col_idx = idx % len(pie_color_list) point.format.fill.solid() point.format.fill.fore_color.rgb = RGBColor.from_string(pie_color_list[col_idx]) chart.font.size = Pt(6) chart.font.name = 'LexusRodin Pro B' chart.has_legend = True chart.has_title = True chart.chart_title.has_text_frame = True chart.chart_title.text_frame.text = 'グラフのタイトル' chart.chart_title.text_frame.paragraphs[0].font.size = Pt(10) chart.plots[-1].has_data_labels = True data_labels = chart.plots[0].data_labels prs.save('sample_with_chart.pptx')
色の指定はpie_color_list = [“F15B47”, “0067c0”]の部分で指定しており、16進数のカラーコードの#以降の部分を指定することで変更可能です。
<実行結果>
アリが赤、ナシが青になるような円グラフが生成されます
【参考URL】
Python pptx custom color for each category
I'm looking at example here:
chart_data = ChartData()
chart_data.categories = ['West', 'East', 'North', 'So...
Python pptx: how to find and delete the empty or unpopulated placeholders
I have created a presentation using python-pptx. However, some slides have the empty placeholders with default text click to add title/text that looks like the ...
関連記事:【Python】python-pptxでパワポのスライドに色々なグラフを追加する
コメント
[…] 関連記事:python-pptxでグラフの凡例ごとに色を固定する […]