LibreOfficeDev 25.8 Help
De service Chart heeft een aantal eigenschappen en methodes voor het werken met diagrammen in Calc.Met deze methode is het mogelijk om:
Diagram-objecten in Calc-documenten te benaderen en de eigenschappen ervan te wijzigen.
Diagrammen toe te voegen in een Calc-document.
Diagrammen als afbeelding te exporteren.
Een diagram kan twee verschillende namen hebben:
Een interne naam die toegekend wordt door LibreOfficeDev bij het aanmaken van het object (meestal "Object 1", "Object 2", ...).
Een door de gebruiker toegekende naam, met rechtsklikken op het object kan de worden bepaald.
De service Chart gebruikt de door de gebruiker gedefinieerde naam. Als die er niet is, wordt de interne naam gebruikt.
Voordat de service Chart gebruikt kan worden, moet de bibliotheek ScriptForge eerst worden geladen of geïmporteerd:
Een instantie van de service Chart wordt aangemaakt met de service Calc door de methode Charts of methode CreateChart te gebruiken.
In dit voorbeeld wordt een instantie van een service Chart aangemaakt van een bestaand diagram in het huidige Calc-document:
    GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
    Dim oDoc as Object, oChart as Object
    Set oDoc = CreateScriptService("Calc")
    Set oChart = oDoc.Charts("Sheet1", "Object 1")
  Hier wordt met de service Chart een diagram-object aangemaakt gebaseerd op de gegevens "Sheet1.A1:C10" in het Calc-document.
    Dim oDoc as Object, oChart as Object
    Set oDoc = CreateScriptService("Calc")
    Set oChart = oDoc.CreateChart("My Chart", "Sheet1", "Sheet1.A1:C10")
  Lees de beschrijving van de methode CreateChart voor een uitleg van de argumenten.
Dezelfde voorbeelden in Python:
    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")
  | Naam | AlleenLezen | Type | Beschrijving | 
|---|---|---|---|
| ChartType | Nee | String | Specificeert het diagramtype als een tekenreeks die een van de volgende waarden kan aannemen: "Pie", "Bar", "Donut", "Column", "Area", "Line", "XY", "Bubble", "Net ". | 
| Deep | Nee | Boolean | Wanneer True aangeeft dat de grafiek driedimensionaal is en dat elke reeks in de z-richting is gerangschikt. Indien False worden reeksen gerangschikt, rekening houdend met slechts twee dimensies. | 
| Dim3D | Nee | Boolean or String | Specificeert of de grafiek wordt weergegeven met 3D-elementen. Als de waarde een tekenreeks is, moet deze "Bar", "Cylinder", "Cone" of "Pyramid" zijn. Als de booleaanse waarde True is opgegeven, wordt de grafiek weergegeven met 3D-balken. | 
| Exploded | Nee | Numeric | Specificeert hoeveel cirkelsegmenten worden verschoven ten opzichte van het middelpunt van de grafiek als een percentage van de straal. Alleen van toepassing op cirkel- en ringdiagrammen. | 
| Filled | Nee | Boolean | Indien True, specificeert dit een gevuld netdiagram. Alleen van toepassing op netdiagrammen. | 
| Legend | Nee | Boolean | Geeft aan of het diagram al dan niet een legenda heeft. | 
| Percent | Nee | Boolean | Indien True, worden diagramreeksen gestapeld en telt elke categorie op tot 100%. Van toepassing op oppervlakte-, staaf-, bel-, kolom- en netdiagrammen. | 
| Stacked | Nee | Boolean | Indien True, worden diagramreeksen gestapeld. Van toepassing op oppervlakte-, staaf-, bel-, kolom- en netdiagrammen. | 
| Title | Nee | String | Specificeert de hoofdtitel van het diagram. | 
| XTitle | Nee | String | Specificeert de titel van de X-as. | 
| YTitle | Nee | String | Specificeert de titel van de Y-as. | 
| XChartObj | Ja | UNO-object | Retourneert het object dat de grafiek vertegenwoordigt, wat een instantie is van de klasse ScChartObj . | 
| XDiagram | Ja | UNO-object | Retourneert het com.sun.star.chart.XDiagram-object dat het diagram van de grafiek vertegenwoordigt. | 
| XShape | Ja | UNO-object | Retourneert het com.sun.star.drawing.XShape-object dat het vorm van de grafiek vertegenwoordigt. | 
| XTableChart | Ja | UNO-object | Retourneert het com.sun.star.table.XTableChart-object dat de gegevens vertegenwoordigt die in de grafiek worden weergegeven. | 
Overweeg de volgende gegevens in het bereik "A1:B6" van een blad met de naam "Rapport".
| A | B | |
|---|---|---|
| 1 | Sample A | Sample B | 
| 2 | 36 | 40 | 
| 3 | 39 | 43 | 
| 4 | 45 | 40 | 
| 5 | 52 | 48 | 
De onderstaande voorbeelden in Basic en Python laten zien hoe u een lijndiagram kunt maken van deze gegevens met legenda's.
    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)
  Het diagram hoeft niet in hetzelfde blad te worden gemaakt als waar de gegevens zich bevinden. Het kan in elk bestaand blad in het huidige bestand worden gemaakt door de bladnaam op te geven in het tweede argument van de methode CreateChart.
| Lijst met methodes in de Chart-service | |
|---|---|
Slaat de grafiek op als een afbeeldingsbestand op een opgegeven locatie. Retourneert True als het afbeeldingsbestand met succes kon worden gemaakt.
chart.ExportToFile(filename: str, imagetype: str = "png", overwrite: bool = False): bool
filename: Identificeert het pad en de bestandsnaam waar de afbeelding wordt opgeslagen. Het moet de notatie volgen die is gedefinieerd in SF_FileSystem.FileNaming.
imagetype: De naam van het te maken afbeeldingstype. De volgende waarden worden geaccepteerd: "gif", "jpeg", "png" (standaard), "svg" en "tiff".
overwrite: Specificeert of het doelbestand kan worden overschreven (Standaard = False).
      oChart.ExportToFile("C:\Temp\myChart.svg", ImageType := "svg", Overwrite := True)
    
      chart.ExportToFile(r"C:\Temp\myChart.svg", imagetype="svg", overwrite=True)
    Wijzigt de positie van het diagram in het huidige blad en wijzigt de breedte en hoogte. Retourneert True als het wijzigen van de grootte is gelukt.
chart.Resize([xpos: int], [ypos: int], [width: int], [height: int]): bool
xpos, ypos: Geef de nieuwe X- en Y-posities van de grafiek op. Als een van deze waarden wordt weggelaten of als er negatieve waarden worden opgegeven, blijven de overeenkomstige posities ongewijzigd.
width: Geef de nieuwe breedte van het diagram op. Als dit argument wordt weggelaten of als een negatieve waarde wordt opgegeven, blijft de grafiekbreedte ongewijzigd.
height: Geef de nieuwe hoogte van de grafiek op. Als dit argument wordt weggelaten of als een negatieve waarde wordt opgegeven, blijft de grafiekhoogte ongewijzigd.
Alle argumenten worden geleverd als gehele waarden die overeenkomen met 1/100 van een millimeter.
      ' Verandert alleen de X- en Y-positie
      oChart.Rezise(1000, 3000)
      ' Wijzigt alleen de breedte en hoogte van de grafiek
      oChart.Resize(, , 25000, 12500)
      ' Zoekwoordargumenten worden ondersteund
      oChart.Resize(Width := 25000, Height := 12500)
    
      chart.Rezise(1000, 3000)
      chart.Resize(-1, -1, 20000, 20000)
      chart.Resize(width=25000, height=12500)