Diagrammlegenden in Präsentationen mit PHP anpassen

Legendenpositionierung

Um die Eigenschaften der Legende festzulegen, befolgen Sie bitte die untenstehenden Schritte:

  • Erzeugen Sie eine Instanz der Klasse Presentation.
  • Holen Sie die Referenz der Folie.
  • Fügen Sie der Folie ein Diagramm hinzu.
  • Legen Sie die Eigenschaften der Legende fest.
  • Speichern Sie die Präsentation als PPTX-Datei.

Im nachfolgenden Beispiel haben wir die Position und Größe der Diagrammlegende festgelegt.

  # Instanz der Klasse Presentation erstellen
  $pres = new Presentation();
  try {
    # Referenz der Folie abrufen
    $slide = $pres->getSlides()->get_Item(0);
    # Ein gruppiertes Säulendiagramm auf der Folie hinzufügen
    $chart = $slide->getShapes()->addChart(ChartType::ClusteredColumn, 50, 50, 500, 500);
    # Legenden-Eigenschaften festlegen
    $chart->getLegend()->setX(50 / $chart->getWidth());
    $chart->getLegend()->setY(50 / $chart->getHeight());
    $chart->getLegend()->setWidth(100 / $chart->getWidth());
    $chart->getLegend()->setHeight(100 / $chart->getHeight());
    # Präsentation auf die Festplatte schreiben
    $pres->save("Legend_out.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

Schriftgröße einer Legende festlegen

Aspose.Slides für PHP via Java ermöglicht Entwicklern, die Schriftgröße der Legende festzulegen. Befolgen Sie bitte die untenstehenden Schritte:

  • Instanziieren Sie die Klasse Presentation.
  • Erstellen Sie das Standarddiagramm.
  • Legen Sie die Schriftgröße fest.
  • Setzen Sie den minimalen Achsenwert.
  • Setzen Sie den maximalen Achsenwert.
  • Speichern Sie die Präsentation auf dem Datenträger.
  # Instanz der Klasse Presentation erstellen
  $pres = new Presentation();
  try {
    $chart = $pres->getSlides()->get_Item(0)->getShapes()->addChart(ChartType::ClusteredColumn, 50, 50, 600, 400);
    $chart->getLegend()->getTextFormat()->getPortionFormat()->setFontHeight(20);
    $chart->getAxes()->getVerticalAxis()->setAutomaticMinValue(false);
    $chart->getAxes()->getVerticalAxis()->setMinValue(-5);
    $chart->getAxes()->getVerticalAxis()->setAutomaticMaxValue(false);
    $chart->getAxes()->getVerticalAxis()->setMaxValue(10);
    $pres->save("output.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

Schriftgröße einer einzelnen Legende festlegen

Aspose.Slides für PHP via Java ermöglicht Entwicklern, die Schriftgröße einzelner Legendeinträge festzulegen. Befolgen Sie bitte die untenstehenden Schritte:

  • Instanziieren Sie die Klasse Presentation.
  • Erstellen Sie das Standarddiagramm.
  • Zugriff auf den Legendeintrag.
  • Legen Sie die Schriftgröße fest.
  • Setzen Sie den minimalen Achsenwert.
  • Setzen Sie den maximalen Achsenwert.
  • Speichern Sie die Präsentation auf dem Datenträger.
  # Instanz der Klasse Presentation erstellen
  $pres = new Presentation();
  try {
    $chart = $pres->getSlides()->get_Item(0)->getShapes()->addChart(ChartType::ClusteredColumn, 50, 50, 600, 400);
    $tf = $chart->getLegend()->getEntries()->get_Item(1)->getTextFormat();
    $tf->getPortionFormat()->setFontBold(NullableBool::True);
    $tf->getPortionFormat()->setFontHeight(20);
    $tf->getPortionFormat()->setFontItalic(NullableBool::True);
    $tf->getPortionFormat()->getFillFormat()->setFillType(FillType::Solid);
    $tf->getPortionFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLUE);
    $pres->save("output.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

FAQ

Kann ich die Legende aktivieren, sodass das Diagramm automatisch Platz dafür reserviert, anstatt sie zu überlagern?

Ja. Verwenden Sie den Nicht‑Überlagerungsmodus (setOverlay(false)); in diesem Fall verkleinert sich der Diagrammbereich, um die Legende aufzunehmen.

Kann ich mehrzeilige Legendenbeschriftungen erstellen?

Ja. Lange Beschriftungen werden automatisch umgebrochen, wenn nicht genug Platz vorhanden ist; erzwungene Zeilenumbrüche werden mittels Zeilenumbruchzeichen im Seriennamen unterstützt.

Wie kann ich die Legende an das Farbschema des Präsentationsthemas anpassen?

Setzen Sie keine expliziten Farben/Füllungen/Schriften für die Legende oder ihren Text. Sie erben dann vom Theme und werden bei Änderungen des Designs korrekt aktualisiert.