我正在尝试将文本添加到 PPT 幻灯片中图表区域的图表标题(不是幻灯片标题)。我有http://python-pptx.readthedocs.io/en/latest/dev/analysis/cht-chart-title .html如果可以将任何文本添加到我的图表中,则此链接,但我找不到解决方案。这是我的,
import numpy as np
import pandas as pd
import pyodbc
#import pptx as ppt
import matplotlib.pyplot as plt
from pptx import Presentation
from pptx.chart.data import ChartData
from pptx.chart.data import XyChartData
from pptx.enum.chart import XL_CHART_TYPE
from pptx.util import Inches,Pt
from pptx.enum.chart import XL_LABEL_POSITION
from pptx.dml.color import RGBColor
from pptx.dml import fill
from pptx.chart.chart import ChartTitle
from pptx.chart.chart import Chart
cnxn = pyodbc.connect("Driver={SQL Server Native Client 11.0};"
"Server=SNAME;"
"Database=DNAME;"
"Trusted_Connection=yes;")
AvgResponseTimequery = 'EXEC [SLA].[MONTHWISEREPORT]'
df=pd.read_sql(sql=AvgResponseTimequery,con=cnxn)
#df
getprs = Presentation('D:\SLA Pyth\hubiC-06-20-2017 1_10_55\SLAPerformance.pptx')
slide = getprs.slides.add_slide(getprs.slide_layouts[5])
slide.shapes.title.text = 'Key Performance KPIs'
chart_data = ChartData()
chart_data.categories = df['Month'].values.tolist()
chart_data.add_series('Average Report Response time(Seconds)', tuple(df['Avg Response Time']))
x, y, cx, cy = Inches(0.5), Inches(2), Inches(9), Inches(3)
chart=slide.shapes.add_chart(
XL_CHART_TYPE.COLUMN_CLUSTERED, x, y, cx, cy, chart_data
).chart
#chart.has_title = True
#Chart.chart_title = "Response Time in Seconds" #Tried to add text here, I didnt get any error though
#ChartTitle.has_text_frame = True
chart.has_title = True
chart.chart_title = "Response Time in Seconds"
# Check the has_text_frame property of this chart's chart_title:
print(chart.has_text_frame)
plot = chart.plots[0]
plot.has_data_labels = True
data_labels = plot.data_labels
chart.series[0].format.fill.solid()
chart.series[0].format.fill.fore_color.rgb = RGBColor(46, 125, 137)
getprs.save('D:\SLA REPORT MONTH WISE\SALReport1.pptx')