Přizpůsobení os grafu v prezentacích pomocí Pythonu

Přehled

Tento článek vysvětluje, jak přizpůsobit osy grafu v Aspose.Slides. Ukazuje, jak získat skutečné hodnoty os, vyměnit data mezi osami, skrýt svislou nebo vodorovnou osu u čarových grafů, změnit typ osy kategorií, nastavit formát data pro hodnoty osy kategorií, otočit nadpis osy, nastavit pozici osy a zobrazit jednotkový štítek na hodnotové ose.

Získání maximálních hodnot na svislé ose v grafech

Aspose.Slides pro Python prostřednictvím .NET umožňuje získat minimální a maximální hodnoty na svislé ose. Projděte následující kroky:

  1. Vytvořte instanci třídy Presentation.
  2. Přistupte k prvnímu snímku.
  3. Přidejte graf s výchozími daty.
  4. Získejte skutečnou maximální hodnotu na ose.
  5. Získejte skutečnou minimální hodnotu na ose.
  6. Získejte skutečnou hlavní jednotku osy.
  7. Získejte skutečnou vedlejší jednotku osy.
  8. Získejte skutečné měřítko hlavní jednotky osy.
  9. Získejte skutečné měřítko vedlejší jednotky osy.

Tento ukázkový kód — implementace výše uvedených kroků — vám ukazuje, jak získat požadované hodnoty v jazyce 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
	
	# Uloží prezentaci
	pres.save("ErrorBars_out.pptx", slides.export.SaveFormat.PPTX)

Prohození dat mezi osami

Aspose.Slides vám umožňuje rychle prohodit data mezi osami — data zobrazená na svislé ose (y-osa) se přesune na vodorovnou osu (x-osa) a naopak.

Tento kód v Pythonu vám ukazuje, jak provést úlohu prohození dat mezi osami v grafu:

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

# Vytvoří prázdnou prezentaci
with slides.Presentation() as pres:
    chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 100, 100, 400, 300)

    #Přepne řádky a sloupce
            
    # Uloží prezentaci
    pres.save("SwitchChartRowColumns_out.pptx", slides.export.SaveFormat.PPTX)

Zakázání svislé osy pro čarové grafy

Tento kód v Pythonu vám ukazuje, jak skrýt svislou osu pro čarový graf:

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)

Zakázání vodorovné osy pro čarové grafy

Tento kód vám ukazuje, jak skrýt vodorovnou osu pro čarový graf:

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)

Změna osy kategorií

Pomocí vlastnosti CategoryAxisType můžete určit preferovaný typ osy kategorií (date nebo text). Tento kód v Pythonu demonstruje operaci:

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)

Nastavení formátu data pro hodnotu osy kategorií

Aspose.Slides pro Python prostřednictvím .NET vám umožňuje nastavit formát data pro hodnotu osy kategorií. Operace je demonstrována v tomto kódu v Pythonu:

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)

Nastavení úhlu otáčení názvu osy grafu

Aspose.Slides pro Python prostřednictvím .NET vám umožňuje nastavit úhel otáčení názvu osy grafu. Tento kód v Pythonu demonstruje operaci:

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)

Nastavení polohy osy v ose kategorií nebo hodnot

Aspose.Slides pro Python prostřednictvím .NET vám umožňuje nastavit polohu osy v ose kategorií nebo hodnot. Tento kód v Pythonu ukazuje, jak úlohu provést:

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)

Povolení zobrazení jednotkového štítku na hodnotové ose grafu

Aspose.Slides pro Python prostřednictvím .NET vám umožňuje nakonfigurovat graf tak, aby zobrazoval jednotkový štítek na své hodnotové ose. Tento kód v Pythonu demonstruje operaci:

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)

Často kladené otázky

Jak nastavit hodnotu, při které se jedna osa protíná s druhou (průsečík osy)?

Osy nabízejí nastavení průsečíku: můžete si vybrat průsečík v nule, při maximální hodnotě kategorie/hodnoty nebo při konkrétní číselné hodnotě. To je užitečné pro posunutí osy X nahoru nebo dolů či pro zvýraznění základní linie.

Jak mohu umístit popisky značek relativně k ose (vedle, venku, uvnitř)?

Nastavte pozici popisku na “cross”, “outside” nebo “inside”. To ovlivňuje čitelnost a pomáhá šetřit místo, zejména u malých grafů.