Dostosuj legendy wykresów w prezentacjach przy użyciu Pythona

Przegląd

Aspose.Slides udostępnia opcje dostosowywania legend wykresów w prezentacjach PowerPoint. Ten artykuł pokazuje, jak ustawić położenie i rozmiar legendy, określić rozmiar czcionki całej legendy oraz zastosować formatowanie do pojedynczego wpisu legendy.

Opisuje także kilka powiązanych zachowań w sekcji FAQ, w tym użycie trybu bez nakładania, aby obszar wykresu pozostawił miejsce dla legendy, umożliwienie długim etykietom legendy zawijanie lub używanie znaków nowej linii oraz dziedziczenie formatowania legendy z motywem prezentacji, gdy nie zostaną zastosowane explicite ustawienia tekstu i wypełnienia.

Pozycjonowanie legendy

Aby ustawić właściwości legendy, wykonaj następujące kroki:

  1. Utwórz instancję klasy Presentation.
  2. Uzyskaj odniesienie do slajdu.
  3. Dodaj wykres do slajdu.
  4. Ustaw właściwości legendy.
  5. Zapisz prezentację jako plik PPTX.

Poniższy przykład ustawia położenie i rozmiar legendy wykresu.

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import ChartType, Presentation, SaveFormat

# Utwórz pustą prezentację.
presentation = Presentation()
try:
    # Uzyskaj odniesienie do slajdu.
    slide = presentation.getSlides().get_Item(0)

    # Dodaj wykres kolumnowy grupowany do slajdu.
    chart = slide.getShapes().addChart(ChartType.ClusteredColumn, 50, 50, 500, 500)

    # Ustaw właściwości legendy.
    legend = chart.getLegend()
    legend.setX(50 / chart.getWidth())
    legend.setY(50 / chart.getHeight())
    legend.setWidth(100 / chart.getWidth())
    legend.setHeight(100 / chart.getHeight())

    # Zapisz prezentację na dysku.
    presentation.save("Legend_out.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

Ustawienie rozmiaru czcionki legendy

Aspose.Slides for Python via Java umożliwia ustawienie rozmiaru czcionki legendy. Wykonaj następujące kroki:

  1. Zainicjuj klasę Presentation.
  2. Utwórz domyślny wykres.
  3. Ustaw rozmiar czcionki.
  4. Ustaw minimalną wartość osi.
  5. Ustaw maksymalną wartość osi.
  6. Zapisz prezentację na dysku.
import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import ChartType, Presentation, SaveFormat

# Utwórz pustą prezentację.
presentation = Presentation()
try:
    chart = presentation.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 50, 50, 600, 400)

    chart.getLegend().getTextFormat().getPortionFormat().setFontHeight(20)

    vertical_axis = chart.getAxes().getVerticalAxis()
    vertical_axis.setAutomaticMinValue(False)
    vertical_axis.setMinValue(-5)
    vertical_axis.setAutomaticMaxValue(False)
    vertical_axis.setMaxValue(10)

    presentation.save("output.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

Ustawienie rozmiaru czcionki pojedynczego wpisu legendy

Aspose.Slides for Python via Java umożliwia ustawienie rozmiaru czcionki poszczególnych wpisów legendy. Wykonaj następujące kroki:

  1. Zainicjuj klasę Presentation.
  2. Utwórz domyślny wykres.
  3. Uzyskaj dostęp do wpisu legendy.
  4. Ustaw rozmiar czcionki.
  5. Zapisz prezentację na dysku.
import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import ChartType, FillType, NullableBool, Presentation, SaveFormat

Color = jpype.JClass("java.awt.Color")

# Utwórz pustą prezentację.
presentation = Presentation()
try:
    chart = presentation.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 50, 50, 600, 400)

    text_format = chart.getLegend().getEntries().get_Item(1).getTextFormat()
    portion_format = text_format.getPortionFormat()

    portion_format.setFontBold(NullableBool.True_)
    portion_format.setFontHeight(20)
    portion_format.setFontItalic(NullableBool.True_)
    portion_format.getFillFormat().setFillType(FillType.Solid)
    portion_format.getFillFormat().getSolidFillColor().setColor(Color.BLUE)

    presentation.save("output.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

FAQ

Czy mogę włączyć legendę tak, aby wykres automatycznie przydzielał dla niej miejsce zamiast nakładać się na nią?

Tak. Użyj setOverlay z wartością False, aby włączyć tryb bez nakładania; w tym przypadku obszar wykresu zostanie zmniejszony, aby pomieścić legendę.

Czy mogę tworzyć wieloliniowe etykiety legendy?

Tak. Długie etykiety automatycznie się zawijają, gdy brakuje miejsca; wymuszone podziały linii są obsługiwane za pomocą znaków nowej linii w nazwie serii.

Jak sprawić, aby legenda korzystała ze schematu kolorów motywu prezentacji?

Nie ustawiaj explicite kolorów, wypełnień ani czcionek dla legendy ani jej tekstu. Wtedy będą one dziedziczone z motywu i prawidłowo zaktualizują się przy zmianie projektu.