Diagrammdatentabellen in Präsentationen mit Python anpassen

Übersicht

Aspose.Slides für Python über Java ermöglicht das Anzeigen einer Datentabelle eines Diagramms und das Anpassen ihrer Textformatierung, Rahmen und Legendenkennzeichnungen. Dieser Artikel erklärt, wie die Tabelle aktiviert, ihr Text formatiert, jeder Rahmentyp gesteuert und Legendenkennzeichnungen ein‑ oder ausgeblendet werden. Die Beispiele speichern die konfigurierten Diagramme in PPTX‑Dateien.

Schriftarteigenschaften festlegen

Um die Datentabelle eines Diagramms anzuzeigen, übergeben Sie True an setDataTable. Verwenden Sie getChartDataTable, um auf die Tabelle zuzugreifen und ihre Textformatierung zu konfigurieren.

  1. Laden Sie die Präsentation mit der Klasse Presentation.
  2. Fügen Sie der ersten Folie ein gruppiertes Säulendiagramm hinzu.
  3. Aktivieren Sie die Datentabelle des Diagramms.
  4. Aktivieren Sie fetten Text mit setFontBold und übergeben Sie 20 an setFontHeight, um 20‑Punkt‑Text zu erhalten.
  5. Speichern Sie die geänderte Präsentation.

Das folgende Beispiel erfordert die Datei test.pptx im Arbeitsverzeichnis mit mindestens einer Folie. Es fügt ein Diagramm mit Standarddaten an der Position (50, 50) ein, mit einer Breite von 600 Punkten und einer Höhe von 400 Punkten. Die gespeicherte Datei output.pptx enthält das Diagramm mit aktivierter Datentabelle und den angegebenen Schriftsatzeinstellungen.

import jpype
import asposeslides

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

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

presentation = Presentation("test.pptx")
try:
    slide = presentation.getSlides().get_Item(0)

    chart = slide.getShapes().addChart(ChartType.ClusteredColumn, 50, 50, 600, 400)
    chart.setDataTable(True)

    portion_format = chart.getChartDataTable().getTextFormat().getPortionFormat()
    portion_format.setFontBold(NullableBool.True_)
    portion_format.setFontHeight(20)

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

Rahmen der Datentabelle anpassen

Aktivieren Sie die Tabelle mit Chart.setDataTable und greifen Sie über Chart.getChartDataTable darauf zu. Sie können drei Arten von Rahmen unabhängig steuern:

Übergeben Sie True an jede Methode, um deren Rahmen anzuzeigen, oder False, um sie zu verbergen. Das folgende Beispiel erstellt ein gruppiertes Säulendiagramm mit Standarddaten, zeigt horizontale Rahmen und den äußeren Rahmen an und verbirgt die vertikalen Rahmen. Es benötigt keine Eingabedatei. Position und Größe des Diagramms werden in Punkten angegeben.

import jpype
import asposeslides

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

from asposeslides.api import ChartType, Presentation, SaveFormat

presentation = Presentation()
try:
    slide = presentation.getSlides().get_Item(0)

    chart = slide.getShapes().addChart(ChartType.ClusteredColumn, 50, 50, 600, 400)
    chart.setDataTable(True)

    data_table = chart.getChartDataTable()
    data_table.setBorderHorizontal(True)
    data_table.setBorderVertical(False)
    data_table.setBorderOutline(True)

    presentation.save("data-table-borders.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

Der Vergleich unten verwendet in allen vier Fällen dieselben Diagrammdaten und dieselbe Legenden‑Schlüssel‑Einstellung. Beginnend mit allen aktivierten Rahmen deaktiviert jede weitere Variante genau einen Rahmeneinstellung. Die links‑untere Variante entspricht den Rahmeneinstellungen im Beispiel.

Diagramm‑Datentabellen mit allen aktivierten Rahmen, ohne horizontale Rahmen, ohne vertikale Rahmen und ohne äußeren Rahmen

Legendenkennzeichnungen ein- oder ausblenden

Legendenkennzeichnungen sind kleine farbige Markierungen neben den Seriennamen in der Datentabelle. Sie helfen den Lesern, jede Tabellenzeile einer Diagrammserie zuzuordnen. Übergeben Sie True an setShowLegendKey, um diese Markierungen anzuzeigen, oder False, um sie zu verbergen.

Die separate Legende des Diagramms wird über Chart.setLegend gesteuert. Diese Einstellungen sind unabhängig: Das Ausblenden der separaten Legende blendet die Kennzeichnungen in der Datentabelle nicht aus, und das Ausblenden der Tabellenkennzeichnungen blendet die separate Legende nicht aus.

Das folgende Beispiel erstellt ein Diagramm mit Standarddaten, aktiviert dessen Datentabelle und zeigt Legendenkennzeichnungen darin an, während die separate Legende ausgeblendet wird. Alle Tabellenrahmen werden ausdrücklich aktiviert. Keine Eingabepräsentation ist erforderlich. Um nur die Kennzeichnungen der Tabelle zu verbergen, übergeben Sie False an setShowLegendKey.

import jpype
import asposeslides

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

from asposeslides.api import ChartType, Presentation, SaveFormat

presentation = Presentation()
try:
    slide = presentation.getSlides().get_Item(0)

    chart = slide.getShapes().addChart(ChartType.ClusteredColumn, 50, 50, 600, 400)
    chart.setDataTable(True)
    chart.setLegend(False)

    data_table = chart.getChartDataTable()
    data_table.setBorderHorizontal(True)
    data_table.setBorderVertical(True)
    data_table.setBorderOutline(True)
    data_table.setShowLegendKey(True)

    presentation.save("data-table-legend-keys.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

Der Vergleich unten zeigt dieselbe Tabelle mit aktivierten und deaktivierten Legendenkennzeichnungen. Alle Rahmen bleiben aktiviert, und die separate Diagrammlegende ist in beiden Fällen ausgeblendet.

Diagramm‑Datentabellen mit Legendenkennzeichnungen links angezeigt und rechts ausgeblendet

FAQ

Kann ich Legendenkennzeichnungen in einer Diagrammdatentabelle anzeigen?

Ja. Übergeben Sie True an setShowLegendKey, um Legendenkennzeichnungen anzuzeigen, oder False, um sie zu verbergen.

Wird die Datentabelle beim Export der Präsentation nach PDF, HTML oder Bildern beibehalten?

Ja. Aspose.Slides rendert das Diagramm und die angezeigte Datentabelle als Teil der Folie, wenn Sie nach PDF, HTML oder Bilder exportieren.

Kann ich mit Datentabellen in aus einer Vorlage geladenen Diagrammen arbeiten?

Ja. Für ein Diagramm, das aus einer bestehenden Präsentation oder Vorlage geladen wurde, verwenden Sie hasDataTable und setDataTable, um zu prüfen oder zu ändern, ob dessen Datentabelle angezeigt wird.

Wie kann ich Diagramme finden, bei denen die Datentabelle aktiviert ist?

Iterieren Sie über die Formen jeder Folie, identifizieren Sie die Diagramme und rufen Sie deren Methode hasDataTable auf. Ein Wert von True zeigt an, dass die Datentabelle aktiviert ist.