Personalizar ejes de gráficos en presentaciones con Python

Obteniendo los valores máximos en el eje vertical de los gráficos

Aspose.Slides for Python via .NET permite obtener los valores mínimos y máximos en un eje vertical. Siga estos pasos:

  1. Cree una instancia de la clase Presentation.
  2. Acceda a la primera diapositiva.
  3. Agregue un gráfico con datos predeterminados.
  4. Obtenga el valor máximo real en el eje.
  5. Obtenga el valor mínimo real en el eje.
  6. Obtenga la unidad mayor real del eje.
  7. Obtenga la unidad menor real del eje.
  8. Obtenga la escala de unidad mayor real del eje.
  9. Obtenga la escala de unidad menor real del eje.

Este código de ejemplo—una implementación de los pasos anteriores—muestra cómo obtener los valores requeridos en Python:

import aspose.slides.charts as charts
import aspose.slides as slides

with slides.Presentation() as pres:
	chart = pres.slides[0].shapes.add_chart(charts.ChartType.AREA, 100, 100, 500, 350)
	chart.validate_chart_layout()

	maxValue = chart.axes.vertical_axis.actual_max_value
	minValue = chart.axes.vertical_axis.actual_min_value

	majorUnit = chart.axes.horizontal_axis.actual_major_unit
	minorUnit = chart.axes.horizontal_axis.actual_minor_unit
	
	# Guarda la presentación
	pres.save("ErrorBars_out.pptx", slides.export.SaveFormat.PPTX)

Intercambiando los datos entre ejes

Aspose.Slides permite intercambiar rápidamente los datos entre ejes: los datos representados en el eje vertical (eje y) se trasladan al eje horizontal (eje x) y viceversa.

Este código Python muestra cómo realizar la tarea de intercambio de datos entre ejes en un gráfico:

import aspose.slides.charts as charts
import aspose.slides as slides

# Crea una presentación vacía
with slides.Presentation() as pres:
    chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 100, 100, 400, 300)

    #Cambia filas y columnas
    chart.chart_data.switch_row_column()
            
    # Guarda la presentación
    pres.save("SwitchChartRowColumns_out.pptx", slides.export.SaveFormat.PPTX)

Desactivando el eje vertical para gráficos de líneas

Este código Python muestra cómo ocultar el eje vertical en un gráfico de líneas:

import aspose.slides.charts as charts
import aspose.slides as slides

with slides.Presentation() as pres:
    chart = pres.slides[0].shapes.add_chart(charts.ChartType.LINE, 100, 100, 400, 300)
    chart.axes.vertical_axis.is_visible = False
    
    pres.save("chart-is_visible.pptx", slides.export.SaveFormat.PPTX)

Desactivando el eje horizontal para gráficos de líneas

Este código muestra cómo ocultar el eje horizontal en un gráfico de líneas:

import aspose.slides.charts as charts
import aspose.slides as slides
 
with slides.Presentation() as pres:
    chart = pres.slides[0].shapes.add_chart(charts.ChartType.LINE, 100, 100, 400, 300)
    chart.axes.horizontal_axis.is_visible = False

    pres.save("chart-2.pptx", slides.export.SaveFormat.PPTX)

Cambiar el eje de categoría

Usando la propiedad CategoryAxisType, puede especificar el tipo de eje de categoría preferido (date o text). Este código en Python demuestra la operación:

import aspose.slides.charts as charts
import aspose.slides as slides

with slides.Presentation(path + "ExistingChart.pptx") as presentation:
    chart = presentation.slides[0].shapes[0]
    chart.axes.horizontal_axis.category_axis_type = charts.CategoryAxisType.DATE
    chart.axes.horizontal_axis.is_automatic_major_unit = False
    chart.axes.horizontal_axis.major_unit = 1
    chart.axes.horizontal_axis.major_unit_scale = charts.TimeUnitType.MONTHS
    presentation.save("ChangeChartCategoryAxis_out.pptx", slides.export.SaveFormat.PPTX)

Establecer el formato de fecha para el valor del eje de categoría

Aspose.Slides for Python via .NET permite establecer el formato de fecha para un valor del eje de categoría. La operación se demuestra en este código Python:

import aspose.slides.charts as charts
import aspose.slides as slides
from datetime import date

def to_oadate(dt):
    delta = dt - date(1899, 12, 30)
    return delta.days + (delta.seconds + delta.microseconds / 1e6) / (24 * 3600)

with slides.Presentation() as pres:
    chart = pres.slides[0].shapes.add_chart(charts.ChartType.AREA, 50, 50, 450, 300)

    wb = chart.chart_data.chart_data_workbook

    wb.clear(0)

    chart.chart_data.categories.clear()
    chart.chart_data.series.clear()

    chart.chart_data.categories.add(wb.get_cell(0, "A2", to_oadate(date(2015, 1, 1))))
    chart.chart_data.categories.add(wb.get_cell(0, "A3", to_oadate(date(2016, 1, 1))))
    chart.chart_data.categories.add(wb.get_cell(0, "A4", to_oadate(date(2017, 1, 1))))
    chart.chart_data.categories.add(wb.get_cell(0, "A5", to_oadate(date(2018, 1, 1))))

    series = chart.chart_data.series.add(charts.ChartType.LINE)
    series.data_points.add_data_point_for_line_series(wb.get_cell(0, "B2", 1))
    series.data_points.add_data_point_for_line_series(wb.get_cell(0, "B3", 2))
    series.data_points.add_data_point_for_line_series(wb.get_cell(0, "B4", 3))
    series.data_points.add_data_point_for_line_series(wb.get_cell(0, "B5", 4))
    chart.axes.horizontal_axis.category_axis_type = charts.CategoryAxisType.DATE
    chart.axes.horizontal_axis.is_number_format_linked_to_source = False
    chart.axes.horizontal_axis.number_format = "yyyy"
    pres.save("test.pptx", slides.export.SaveFormat.PPTX)

Establecer el ángulo de rotación para el título del eje del gráfico

Aspose.Slides for Python via .NET permite establecer el ángulo de rotación para el título de un eje de gráfico. Este código Python demuestra la operación:

import aspose.slides.charts as charts
import aspose.slides as slides

with slides.Presentation() as pres:
    chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 450, 300)
    chart.axes.vertical_axis.has_title = True
    chart.axes.vertical_axis.title.text_format.text_block_format.rotation_angle = 90

    pres.save("test.pptx", slides.export.SaveFormat.PPTX)

Establecer la posición del eje en un eje de categoría o de valores

Aspose.Slides for Python via .NET permite establecer la posición del eje en un eje de categoría o de valores. Este código Python muestra cómo realizar la tarea:

import aspose.slides.charts as charts
import aspose.slides as slides

with slides.Presentation() as pres:
	chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 450, 300)
	chart.axes.horizontal_axis.axis_between_categories = True

	pres.save("AsposeScatterChart.pptx", slides.export.SaveFormat.PPTX)

Habilitar la etiqueta de unidad de visualización en el eje de valores del gráfico

Aspose.Slides for Python via .NET permite configurar un gráfico para que muestre una etiqueta de unidad en su eje de valores. Este código Python demuestra la operación:

import aspose.slides.charts as charts
import aspose.slides as slides

with slides.Presentation() as pres:
	chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 450, 300)
	chart.axes.vertical_axis.display_unit = charts.DisplayUnitType.MILLIONS
	pres.save("Result.pptx", slides.export.SaveFormat.PPTX)

FAQ

¿Cómo establezco el valor en el que un eje cruza al otro (cruce del eje)?

Los ejes ofrecen una configuración de cruce: puede elegir cruzar en cero, en la categoría/valor máximo, o en un valor numérico específico. Esto es útil para desplazar el eje X hacia arriba o abajo o para enfatizar una línea base.

¿Cómo puedo posicionar las etiquetas de marcas de graduación en relación al eje (junto, fuera, dentro)?

Establezca la posición de la etiqueta a “cross”, “outside” o “inside”. Esto afecta la legibilidad y ayuda a ahorrar espacio, especialmente en gráficos pequeños.