使用python-pptx更改图表背景颜色 [英] Change Chart Background Color with python-pptx

查看:46
本文介绍了使用python-pptx更改图表背景颜色的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用python-pptx更改现有Powerpoint图表的背景色。但是,图表似乎还没有实现"Fill"属性。我到目前为止尝试的内容:

chart_frame = shapes.add_chart(chart_type, left, top, width, height, chart_data)
chart = chart_frame.chart
chart.fill.solid()
chart.fill.fore_color.rgb = RGBColor(r, g, b)

我还尝试编辑Chart_Frame和绘图的Fill属性,但不起作用。

是否有任何解决方法函数可以操作基础XML来解决此问题?

非常感谢您的帮助!

推荐答案

同时我自己找到了答案:

from pptx.oxml.xmlchemy import OxmlElement

chart_frame = shapes.add_chart(chart_type, left, top, width, height, chart_data)
chart = chart_frame.chart

shape_properties = OxmlElement("c:spPr")
chart.element.append(shape_properties)
fill_properties = OxmlElement("a:solidFill")
shape_properties.append(fill_properties)
scheme_color = OxmlElement("a:schemeClr")
color_value = dict(val="bg2")
scheme_color.attrib.update(color_value)
fill_properties.append(scheme_color)

这会将颜色更改为背景色2(Bg2)。要将其更改为RGBColor,请将CT_SchemaColor对象与CT_sRGBColor对象交换,并使用祸不单行颜色代码对其进行相应更新:

rgb_color = OxmlElement("a:srgbClr")
color_value = dict(val='%02x%02x%02x' % (130, 130, 130))
rgb_color.attrib.update(color_value)
fill_properties.append(rgb_color)

这篇关于使用python-pptx更改图表背景颜色的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆