2016-10-16 3 views

ответ

0

Видимо?. есть запрос функция для этого: https://github.com/scanny/python-pptx/issues/242

В то же время можно обойти, установив текст метки из питона, например так:

from pptx import Presentation 
from pptx.chart.data import ChartData 
from pptx.enum.chart import XL_CHART_TYPE, XL_LABEL_POSITION 
from pptx.util import Inches 

# create presentation with 1 slide ------ 
prs = Presentation() 
slide = prs.slides.add_slide(prs.slide_layouts[5]) 

chart_data = ChartData() 
chart_data.categories = ['West', 'East', 'North', 'South', 'Other'] 
chart_data.add_series('Series 1', (0.135, 0.324, 0.180, 0.235, 0.126)) 

x, y, cx, cy = Inches(2), Inches(2), Inches(6), Inches(4.5) 
chart = slide.shapes.add_chart(
    XL_CHART_TYPE.PIE, x, y, cx, cy, chart_data 
).chart 

chart.has_legend = False 

# set labels to contain category and value 
for i in range(len(chart_data.categories)): 
    point = chart.series[0].points[i] 
    point.data_label.text_frame.text = "{}: {:.0%}".format(chart_data.categories[i].label, chart.series[0].values[i]) 
    point.data_label.position = XL_LABEL_POSITION.OUTSIDE_END 

prs.save('chart-01.pptx') 
Смежные вопросы