简体   繁体   中英

Python, pptx to change line color in line chart

Created a line chart using pptx. I want to change the line color to red.

Added the "fill" and indicated the RGBColor (255, 0, 0) but it's still blue.

How can I change it to red? Thank you.

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')

Use series.format.line instead of 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)

The LineFormat object can also be used to set line style (dashed, dotted, etc.) and line width: https://python-pptx.readthedocs.io/en/latest/api/dml.html#pptx.dml.line.LineFormat

The lines in a line chart each have a line, but not a fill (as would say a bar-chart). In a bar-chart, you can set both line and fill, separately.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM