#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
тег, и я его увижу.