2015-12-14 7 views
1

Я ищу на примере здесь: https://python-pptx.readthedocs.org/en/latest/user/charts.html?highlight=color#pie-chartPython PPTX собственного цвета для каждой категории

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

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

chart.has_legend = True 
chart.legend.position = XL_LEGEND_POSITION.BOTTOM 
chart.legend.include_in_layout = False 

chart.plots[0].has_data_labels = True 
data_labels = chart.plots[0].data_labels 
data_labels.number_format = '0%' 
data_labels.position = XL_LABEL_POSITION.OUTSIDE_END 

Но я не могу понять, как сделать каждую категорию с пользовательским не автоматическим цветом: запада желтый, восток синий, север серый, юг красный, другой - коричневый, например.

+0

Вы прочитали [этот раздел в документации] (http://python-pptx.readthedocs.org/en/latest/user/charts.html#odds-ends)? – scanny

ответ

0

Пользовательские раскраски по серии выполняются с использованием атрибута .fill в серии.

К сожалению, этот атрибут еще не реализован для круговых диаграмм, только для диаграмм столбцов и столбцов. http://python-pptx.readthedocs.org/en/latest/api/chart.html#barseries-objects

Можно изменить расцветку по умолчанию, хотя в «шаблоне» .pptx-файле, с которого вы начинаете, что делает то же самое для многих людей. Все диаграммы в файле будут иметь одинаковую окраску, но не обязательно должны быть встроенные значения по умолчанию.

+0

Спасибо. Я видел эту проблему для круговой диаграммы. – sevatster

+0

Можете ли вы показать, как использовать атрибут .fill? – idazuwaika

+0

Некоторые примеры на http://python-pptx.readthedocs.io/en/latest/user/autoshapes.html#fill. Документация API по адресу: http://python-pptx.readthedocs.io/en/latest/api/dml.html#fillformat-objects – scanny