Файл выдает ошибку, когда я добавляю позицию метки в кольцевую диаграмму python pptx. - PullRequest
0 голосов
/ 14 июля 2020

Я пытаюсь добавить метки для кольцевой диаграммы. Все работает нормально, пока не попробую выставить положение меток. Ни BEST_FIT, ни OUTSIDE_END не работают. Когда я добавляю строку data_labels.position = XL_LABEL_POSITION.BEST_FIT, файл просто не открывается. Вот код:

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, Pt


prs = Presentation()
slide = prs.slides.add_slide(prs.slide_layouts[6])  # blank slide

chart_data = ChartData()
chart_data.categories = ['aaa','bbb', 'ccc','ddd', 'eee', 'fff','ggg','hhh', 'iii', 'jjj','kkk','lll','mmm', 'nnn']
chart_data.add_series('Test', [10,50,60,30,5,35,10,15,70,1,10,5,60,30])   

x, y, cx, cy = Inches(1), Inches(1), Inches(8), Inches(6)
chart = slide.shapes.add_chart(XL_CHART_TYPE.DOUGHNUT, x, y, cx, cy, chart_data).chart


chart.plots[0].has_data_labels=True
data_labels = chart.plots[0].data_labels
data_labels.font.size = Pt(12)
data_labels.show_percentage = True
data_labels.show_category_name = True
data_labels.show_value = True
data_labels.position = XL_LABEL_POSITION.BEST_FIT
#or
#data_labels.position = XL_LABEL_POSITION.OUTSIDE_END


prs.save('test.pptx')

Как вы понимаете, мои настоящие имена категорий данных намного длиннее и без правильного позиционирования их невозможно прочитать. Итак, как я могу установить положение меток, чтобы они были удобочитаемыми?

...