es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo revertir el orden del eje de valores en un gráfico de barras agrupadas utilizando el módulo python-pptx?

“`python
cluster_barchart_data = CategoryChartData()

<h1>Agregando categorías al gráfico</h1>

cluster_barchart_data.categories = df['period'].tolist()

<h1>Agregando series</h1>

cluster_barchart_data.add_series("A",(df["A"].squeeze()), number_format=None)
cluster_barchart_data.add_series("B",(df["B"].squeeze()), number_format=None)
cluster_barchart_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_barchart = slide.shapes.add_chart(XL_CHART_TYPE.BAR_CLUSTERED, x,y, cx, cy, cluster_barchart_data)
““
Estoy usando el código anterior para crear un gráfico de barras agrupadas con 3 series. A continuación se muestra la salida que estoy obteniendo:

enter image description here

Resultado esperado: enter image description here

¿Existe alguna manera de invertir el orden de los valores en el eje de valores?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Sí, podemos invertir el orden de los valores en el eje de valores. Necesitamos acceder al category_axis y al value_axis del gráfico y utilizar la propiedad reverse_order del value_axis para establecerlo en True.

    A continuación se muestra el código modificado para invertir el orden de los valores en el eje de valores:

    cluster_bar_chart_data = CategoryChartData()
    
    # Agregando categorías al gráfico
    cluster_bar_chart_data.categories = df['period'].to_list()
    
    # Agregando 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)
    value_axis = cluster_bar_chart.value_axis
    category_axis = cluster_bar_chart.category_axis
    value_axis.reverse_order = True
    

    En el código anterior, hemos agregado las últimas dos líneas para invertir el orden de los valores en el eje de valores.

Comments are closed.