Python,pptx更改折线图中的线条颜色

时间:2018-08-21 08:11:44

标签: python powerpoint

使用pptx创建折线图。我想将线条颜色更改为红色。

添加了“填充”并指示RGBColor(255、0、0),但仍为蓝色。

如何将其更改为红色?谢谢。

from pptx import Presentation
from pptx.chart.data import ChartData
from pptx.enum.chart import XL_CHART_TYPE
from pptx.util import Inches
from pptx.dml.color import RGBColor

prs = Presentation()
slide = prs.slides.add_slide(prs.slide_layouts[5])

chart_data = ChartData()
chart_data.categories = ["2014", "2015", "2016", "2017", "2018"]
chart_data.add_series('Series 1', ("50", "45", "46", "52", "56"))

x, y, cx, cy = Inches(0.5), Inches(2), Inches(8), Inches(3.5)

graphic_frame = slide.shapes.add_chart(XL_CHART_TYPE.LINE, x, y, cx, cy, chart_data)
chart = graphic_frame.chart
plot = chart.plots[0]
series = plot.series[0]

fill = series.format.fill
fill.solid()
fill.fore_color.rgb = RGBColor(255, 0, 0)

prs.save('c:\\My Documents\\line chart.pptx')

1 个答案:

答案 0 :(得分:2)

使用series.format.line代替series.format.fill
https://python-pptx.readthedocs.io/en/latest/api/dml.html#pptx.dml.chtfmt.ChartFormat

line = series.format.line
line.color.rgb = RGBColor(255, 0, 0)

LineFormat对象还可用于设置线条样式(虚线,点线等)和线条宽度:https://python-pptx.readthedocs.io/en/latest/api/dml.html#pptx.dml.line.LineFormat

折线图中的每条线都有一条线,但没有填充线(可以说是条形图)。在条形图中,可以分别设置线条和填充。