Как изменить порядок оси значений в кластерной гистограмме с помощью модуля python-pptx?

#python-3.x #python-pptx

#python-3.x #python-pptx

Вопрос:

 cluster_bar_chart_data = CategoryChartData()

# Adding categories to chart
cluster_bar_chart_data.categories = df['period'].to_list()

# Adding series
cluster_bar_chart_data.add_series("A",(df["A"].squeeze()), number_format=None)
cluster_bar_chart_data.add_series("B",(df["B"].squeeze()), number_format=None)
cluster_bar_chart_data.add_series("C",(df["C"].squeeze()), number_format=None)

x, y, cx, cy = Inches(7), Inches(1.2), Inches(6), Inches(5.5)

cluster_bar_chart = slide.shapes.add_chart(XL_CHART_TYPE.BAR_CLUSTERED, x,y, cx, cy, cluster_bar_chart_data)
 

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

Ожидаемый результат:введите описание изображения здесь

Есть ли какой-либо способ изменить порядок значений на оси значений?

Ответ №1:

 chart.category_axis.reverse_order = True
 

Должно сработать. Вы можете прочитать больше об этом свойстве оси в документации API здесь:
https://python-pptx.readthedocs.io/en/latest/api/chart.html#pptx.chart.axis ._BaseAxis.reverse_order

Комментарии:

1. Мне нужно изменить порядок значений, отображаемых на оси значений, как я упоминал в ожидаемом выводе.

2. Ах, хорошо, вам нужно изменить порядок категорий на оси категорий . Я изменил код. Ось категорий в этих диаграммах является вертикальной осью. Ось значений является горизонтальной.

3. Это делает свое дело, но вместе с этим value_axis выходит на первое место, чего я не хочу.

4. Это действительно отдельный вопрос и отдельное решение @Hiramanshu. Если вы примете этот ответ (нажав на галочку слева от ответа) и опубликуете новый вопрос, я задам его там. Просто убедитесь, что вы используете python-pptx тег, и я его увижу.