Hilfe für LibreOffice 24.8
Der Dienst Chart bietet eine Reihe von Eigenschaften und Methoden zur Handhabung von Diagrammen in Calc-Dokumenten. Mit diesem Dienst ist es möglich:
Auf Diagrammobjekte in Calc-Dokumenten zugreifen und deren Eigenschaften bearbeiten.
Neue Diagramme erstellen und diese in ein Calc-Dokument einfügen.
Diagramme als Bilddateien exportieren.
Diagramme können zwei verschiedene Namen haben:
Ein interner Name, der von LibreOffice vergeben wird, sobald das Diagrammobjekt erstellt wird (normalerweise "Objekt 1", "Objekt 2", …).
Ein benutzerdefinierter Name, der festgelegt werden kann, indem Sie mit der rechten Maustaste auf das Diagramm klicken und im Kontextmenü wählen.
Der Dienst Chart verwendet hauptsächlich den benutzerdefinierten Namen, um auf ein Diagrammobjekt zuzugreifen. Wenn er nicht existiert, wird der interne Name verwendet.
Vor der Verwendung des Dienstes Chart muss die Bibliothek ScriptForge geladen oder importiert werden:
Der Dienst Chart wird von einer Dienstinstanz Calc entweder unter Verwendung der Methode Chart oder der Methode CreateChart instanziiert.
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")
  Lesen Sie die Methodenbeschreibung CreateChart, um mehr über ihre Argumente zu erfahren.
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")
  | 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. | 
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.
    oDoc = CreateScriptService("Calc")
    oChart = oDoc.CreateChart("Samples", "Report", "Report.A1:B6")
    oChart.ChartType = "Line"
    oChart.Legend = True
    oChart.Resize(1000, 1000, 25000, 15000)
  
    doc = CreateScriptService("Calc")
    chart = doc.CreateChart("Samples", "Report", "Report.A1:B6")
    chart.ChartType = "Line"
    chart.Legend = True
    chart.Resize(1000, 1000, 25000, 15000)
  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.
| Liste der Methoden im Dienst Chart | |
|---|---|
Speichert das Diagramm als Bilddatei an einem angegebenen Ort. Gibt True zurück, wenn die Bilddatei erfolgreich erstellt werden konnte.
chart.ExportToFile(filename: str, imagetype: str = "png", overwrite: bool = False): bool
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).
      oChart.ExportToFile("C:\Temp\myChart.svg", ImageType := "svg", Overwrite := True)
    
      chart.ExportToFile(r"C:\Temp\myChart.svg", imagetype="svg", overwrite=True)
    Ä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.
chart.Resize([xpos: int], [ypos: int], [width: int], [height: int]): bool
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.
Alle Argumente werden als ganzzahlige Werte bereitgestellt, die 1/100 Millimeter entsprechen.
      ' Ä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)
    
      chart.Rezise(1000, 3000)
      chart.Resize(-1, -1, 20000, 20000)
      chart.Resize(width=25000, height=12500)