Dienst SFDocuments.Chart

Der Dienst Chart bietet eine Reihe von Eigenschaften und Methoden zur Handhabung von Diagrammen in Calc-Dokumenten. Mit diesem Dienst ist es möglich:

Diagrammnamen

Diagramme können zwei verschiedene Namen haben:

note

Der Dienst Chart verwendet hauptsächlich den benutzerdefinierten Namen, um auf ein Diagrammobjekt zuzugreifen. Wenn er nicht existiert, wird der interne Name verwendet.


Dienstaufruf

Vor der Verwendung des Dienstes Chart muss die Bibliothek ScriptForge geladen oder importiert werden:

note

• Grundlegende Makros erfordern das Laden der Bibliothek ScriptForge mit der folgenden Anweisung:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")

• Python-Skripte erfordern einen Import aus dem Modul scriptforge:
from scriptforge import CreateScriptService


Der Dienst Chart wird von einer Dienstinstanz Calc entweder unter Verwendung der Methode Chart oder der Methode CreateChart instanziiert.

In Basic

Das folgende Beispiel erstellt eine Dienstinstanz Chart aus einem vorhandenen Diagramm im aktuellen Calc-Dokument:


    GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
    Dim oDoc as Object, oChart as Object
    Set oDoc = CreateScriptService("Calc")
    Set oChart = oDoc.Charts("Sheet1", "Object 1")
  

Im folgenden Beispiel wird der Dienst Chart instanziiert, indem ein neues Diagrammobjekt basierend auf den im Bereich „Sheet1.A1:C10“ enthaltenen Daten erstellt wird.


    Dim oDoc as Object, oChart as Object
    Set oDoc = CreateScriptService("Calc")
    Set oChart = oDoc.CreateChart("My Chart", "Sheet1", "Sheet1.A1:C10")
  
tip

Lesen Sie die Methodenbeschreibung CreateChart, um mehr über ihre Argumente zu erfahren.


In Python

Die obigen Beispiele können wie folgt in Python geschrieben werden:


    from scriptforge import CreateScriptService
    doc = CreateScriptService("Calc")
    chart = doc.Charts("Sheet1", "Object 1")
  

    doc = CreateScriptService("Calc")
    chart = doc.CreateChart("My Chart", "Sheet1", "Sheet1.A1:C10")
  

Eigenschaften

Name

ReadOnly

Typ

Beschreibung

ChartType

Nein

String

Legt den Diagrammtyp als Zeichenfolge fest, der einen der folgenden Werte annehmen kann: "Pie", "Bar", "Donut", "Column", "Area", "Line", "XY", "Bubble", "Net ".

Deep

Nein

Boolean

Wenn True angibt, dass das Diagramm dreidimensional ist und jede Reihe in Z-Richtung angeordnet ist.

Bei False werden Reihen unter Berücksichtigung von nur zwei Dimensionen angeordnet.

Dim3D

Nein

Boolean or String

Legt fest, ob das Diagramm mit 3D-Elementen angezeigt wird. Wenn der Wert eine Zeichenfolge ist, muss er entweder "Bar", "Cylinder", "Cone" oder "Pyramid" sein.

Wenn der boolesche Wert True angegeben ist, wird das Diagramm mit 3D-Balken angezeigt.

Exploded

Nein

Numeric

Legt fest, um wie viel Tortensegmente von der Diagrammmitte als Prozentsatz des Radius versetzt werden. Gilt nur für Torten- und Ringdiagramme.

Filled

Nein

Boolean

Wenn True, legt es ein gefülltes Netzdiagramm fest. Gilt nur für Netzdiagramme.

Legend

Nein

Boolean

Legt fest, ob das Diagramm eine Legende hat oder nicht.

Percent

Nein

Boolean

Bei True werden Diagrammreihen gestapelt und jede Kategorie ergibt 100 %. Anwendbar auf Flächen-, Balken-, Blasen-, Säulen- und Netzdiagramme.

Stacked

Nein

Boolean

Bei True werden Diagrammreihen gestapelt. Anwendbar auf Flächen-, Balken-, Blasen-, Säulen- und Netzdiagramme.

Title

Nein

String

Legt den Haupttitel des Diagramms fest.

XTitle

Nein

String

Legt den Titel der X-Achse fest.

YTitle

Nein

String

Legt den Titel der Y-Achse fest.

XChartObj

Ja

UNO-Objekt

Gibt das Objekt zurück, welches das Diagramm darstellt, das eine Instanz der Klasse ScChartObj ist.

XDiagram

Ja

UNO-Objekt

Gibt das Objekt com.sun.star.chart.XDiagram zurück, welches das Diagramm des Diagrammobjekts darstellt.

XShape

Ja

UNO-Objekt

Gibt das Objekt com.sun.star.drawing.XShape zurück, welches die Form des Diagramms darstellt.

XTableChart

Ja

UNO-Objekt

Gibt das Objekt com.sun.star.table.XTableChart zurück, welches die im Diagramm angezeigten Daten darstellt.


Ein Diagramm erstellen

Betrachten Sie die folgenden Daten im Bereich "A1: B6" einer Tabelle mit dem Namen "Report".

A

B

1

Sample A

Sample B

2

36

40

3

39

43

4

45

40

5

52

48


Die folgenden Beispiele in Basic und Python zeigen, wie Sie aus diesen Daten ein Liniendiagramm mit Legenden erstellen.

In Basic

    oDoc = CreateScriptService("Calc")
    oChart = oDoc.CreateChart("Samples", "Report", "Report.A1:B6")
    oChart.ChartType = "Line"
    oChart.Legend = True
    oChart.Resize(1000, 1000, 25000, 15000)
  
In Python

    doc = CreateScriptService("Calc")
    chart = doc.CreateChart("Samples", "Report", "Report.A1:B6")
    chart.ChartType = "Line"
    chart.Legend = True
    chart.Resize(1000, 1000, 25000, 15000)
  
tip

Das Diagramm muss nicht in der selben Tabelle erstellt werden, in der sich die Daten befinden. Es kann in jeder vorhandenen Tabelle der aktuellen Datei erstellt werden, indem der Tabellenname im zweiten Argument der Methode CreateChart festgelegt wird.


Methoden

Liste der Methoden im Dienst Chart

ExportToFile

Resize


ExportToFile

Speichert das Diagramm als Bilddatei an einem angegebenen Ort. Gibt True zurück, wenn die Bilddatei erfolgreich erstellt werden konnte.

Syntax:

chart.ExportToFile(filename: str, imagetype: str = "png", overwrite: bool = False): bool

Parameter:

filename: Identifiziert den Pfad und Dateinamen, wo das Bild gespeichert wird. Es muss der in SF_FileSystem.FileNaming definierten Notation folgen.

imagetype: Der Name des zu erstellenden Bildtyps. Folgende Werte werden akzeptiert: "gif", "jpeg", "png" (Standard), "svg" und "tiff".

overwrite: Legt fest, ob die Zieldatei überschrieben werden kann (Standard = False).

Beispiel:

In Basic

      oChart.ExportToFile("C:\Temp\myChart.svg", ImageType := "svg", Overwrite := True)
    
In Python

      chart.ExportToFile(r"C:\Temp\myChart.svg", imagetype="svg", overwrite=True)
    

Resize

Ändert die Position des Diagramms in der aktuellen Tabelle und verändert seine Breite und Höhe. Gibt True zurück, wenn die Größenänderung erfolgreich war.

Syntax:

chart.Resize([xpos: int], [ypos: int], [width: int], [height: int]): bool

Parameter:

xpos, ypos: Legt die neuen X- und Y-Positionen des Diagramms fest. Wenn einer dieser Werte weggelassen wird oder negative Werte angegeben werden, bleiben die entsprechenden Positionen unverändert.

width: Legt die neue Breite des Diagramms fest. Wenn dieses Argument weggelassen oder ein negativer Wert angegeben wird, bleibt die Diagrammbreite unverändert.

height: Legt die neue Höhe des Diagramms fest. Wenn dieses Argument weggelassen oder ein negativer Wert angegeben wird, bleibt die Diagrammhöhe unverändert.

note

Alle Argumente werden als ganzzahlige Werte bereitgestellt, die 1/100 Millimeter entsprechen.


Beispiel:

In Basic

      ' Ändert nur die X- und Y-Position
      oChart.Rezise(1000, 3000)
      ' Ändert nur die Diagrammbreite und -höhe
      oChart.Resize(, , 25000, 12500)
      ' Schlüsselwortargumente werden unterstützt
      oChart.Resize(Width := 25000, Height := 12500)
    
In Python

      chart.Rezise(1000, 3000)
      chart.Resize(-1, -1, 20000, 20000)
      chart.Resize(width=25000, height=12500)
    
warning

Alle ScriptForge Basic-Routinen oder Bezeichner, denen ein Unterstrich "_" vorangestellt ist, sind für den internen Gebrauch reserviert. Sie sind nicht für die Verwendung in Basic-Makros oder Python-Skripten vorgesehen.


Bitte unterstützen Sie uns!