XL_CHART_TYPE.DOUGHNUT установить размер отверстия - PullRequest
0 голосов
/ 08 июня 2018

Я пытаюсь сделать кольцевую диаграмму с python-pptx.Мне нужно установить нестандартный размер отверстия, и это должен быть атрибут holeSize, но я не могу его найти.

Кто-нибудь может мне помочь?

chart = ph.insert_chart(XL_CHART_TYPE.DOUGHNUT, chart_data).chart
s = chart.series[0]
s.format.element.set('holeSize', '70')

1 Ответ

0 голосов
/ 09 июня 2018

Это может сработать, по крайней мере, если элемент c:holeSize уже присутствует в XML (я верю, что так и будет).Это может быть сжато, вероятно, до пары строк, я поясняю каждый шаг отдельно для ясности происходящего:

chart = ph.insert_chart(XL_CHART_TYPE.DOUGHNUT, chart_data).chart
# ---the c:doughnutChart parent of c:holeSize is at the plot level---
doughnut_plot = chart.plots[0]
# ---access the <c:doughnutChart> element---
doughnutChart = doughnut_plot._element
# ---from then on it's all lxml calls---
holeSizes = doughnutChart.xpath('./c:holeSize')
if len(holeSizes) == 0:
    raise ValueError('sorry, no c:holeSize element present')
holeSize = holeSizes[0]
holeSize.set('val', '70')
...