tjenesten SFDocuments.Chart

Tjenesten Chart (diagram) leverer et sæt egenskaber og metoder til at håndtere diagrammer i Calc-dokumenter. Med denne tjeneste er det muligt at:

Diagramnavne

Diagrammer kan have to forskellige navne:

note

Tjenesten Chart (diagram) bruger primært det brugerdefinerede navn til at tilgå et diagram-objekt. Hvis det ikke eksisterer, bruges det interne navn.


Kald af tjeneste

Før brug af tjenesten Chart skal biblioteket ScriptForge være indlæst eller importeret:

note

• Basic-makroer kræver, at biblioteket ScriptForge indlæses med følgende udtryk:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")

• Python-scripts kræver import af scriptforge-modulet:
from scriptforge import CreateScriptService


Tjenesten Chart (diagram) instantieres fra en tjenesteforekomst af Calc med en af metoderne Charts (diagrammer) eller CreateChart (opret_diagram).

I Basic

Eksemplet herunder opretter en tjenesteforekomst af Chart (diagram) fra et eksisterende diagram i det aktuelle Calc-dokument:


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

Det følgende eksempel instantierer tjenesten Chart (diagram) ved at oprette et nyt diagram-objekt baseret på data indeholdt i området "Sheet1.A1:C10".


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

Læs metodebeskrivelsen CreateChart (opret_diagram) for at få mere at at vide om dens argumenter.


I Python

Eksemplerne herunder kan skrives i Python som følger:


    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")
  

Egenskaber

Navn

Skrivebeskyttet

Type

Beskrivelse

ChartType

No

String

Angiver diagramtypen som en streng, der kan antage en af følgende værdier: "Lagkage", "Bjælke", "Donut", "Kolonne", "Område", "Linje", "XY", "Boble", "Net".

Deep

No

Boolean

Når True (sand) påpeges, at diagrammet er tredimensionelt og hver serie er arrangeret på z-aksen.

Når False (falsk), arrangeres serien betragtet med kun to dimensioner.

Dim3D

No

Boolean or String

Angiver, om diagrammet vises med 3D-elementer. Hvis værdien er en streng, skal den være enten "Bjælke", "Cylinder", "Kegle" eller "Pyramide".

Hvis den boolske værdi True (sand) er angivet, vises diagrammet med 3D-bjælker.

Exploded

No

Numeric

Angiver hvor meget lagkagestykkerne er forskudt fra diagrammets centrum som en procentdel af radius. Gælder kun lagkage- og donut-diagrammer.

Filled

No

Boolean

Når True (sand), angives et udfyldt net-diagram. Gælder kun net-diagrammer.

Legend

No

Boolean

Angiver, om diagrammet har en forklaring eller ej.

Percent

No

Boolean

Når True (sand), stables diagramserierne og hver kategori opsummeres til 100%. Gælder Område-, Bjælke-, Boble-, Kolonne- og Net-diagrammer.

Stacked

No

Boolean

Når True (sand), er serierne stablede. Gælder Område-, Bjælke-, Boble-, Kolonne- og Net-diagrammer.

Title

No

String

Angiver diagrammets hovedtitel.

XTitle

No

String

Angiver x-aksens titel.

YTitle

No

String

Angiver y-aksens titel.

XChartObj

Yes

UNO-objekt

Returnerer objektet, der repræsenterer diagrammet, som er en forekomst af klassen ScChartObj.

XDiagram

Yes

UNO-objekt

Returnerer objektet com.sun.star.chart.XDiagram, der repræsenterer diagrammet over diagrammet.

XShape

Yes

UNO-objekt

Returnerer objektet com.sun.star.drawing.XShape, der repræsenterer diagrammets form.

XTableChart

Yes

UNO-objekt

Returnerer objektet com.sun.star.table.XTableChart, der repræsenterer de data, der vises i diagrammet.


Oprettelse af et diagram

Betragt følgende data i området "A1:B6" på et ark kaldet "Rapport".

A

B

1

Sample A

Sample B

2

36

40

3

39

43

4

45

40

5

52

48


Eksemplerne herunder i Basic og Python viser, hvordan der oprettes et linjediagram fra disse data med forklaringer.

I Basic

    oDoc = CreateScriptService("Calc")
    oChart = oDoc.CreateChart("Samples", "Report", "Report.A1:B6")
    oChart.ChartType = "Line"
    oChart.Legend = True
    oChart.Resize(1000, 1000, 25000, 15000)
  
I 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

Diagrammet skal ikke nødvendigvis oprettes på det ark, hvor data er placeret. Det kan oprettes på et vilkårligt ark i den aktuelle fil ved at angive arknavnet i det andet argument i metoden CreateChart (opret_diagram).


Metoder

Liste over metoder i tjenesten Chart (diagram)

ExportToFile

Resize


ExportToFile

Gemmer diagrammet som en billedfil på en angivet placering. Returnerer True (sand), hvis det lykkedes at oprette billedfilen.

Syntaks:

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

Parametre:

filnavn: Identificerer stien og filnavnet, hvor billedet bliver gemt. Det skal følge notationen, som er defineret i SF_FileSystem.FileNaming.

billedtype: Navnet på den billedtype, der skal oprettes. Følgende værdier accepteres: "gif", "jpeg", "png" (standard), "svg" og "tiff".

overskriv: Angiver, om målfilen kan overskrives (Standard = False (falsk)).

Eksempel:

I Basic

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

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

Resize

Ændrer placeringen af diagrammet på det aktuelle ark og modificerer det bredde og højde. Returnerer True (sand), hvis størrelsesændringen lykkedes.

Syntaks:

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

Parametre:

xpos, ypos: Angiv diagrammets nye x- og y-positioner. Hvis nogen af disse værdier udelades eller der angives negative værdier, efterlades de tilsvarende værdier uændrede.

bredde: Angiv diagrammets nye bredde. Hvis dette argument udelades eller der angives en negativ værdi, efterlades diagrammet uændret.

højde: Angiv diagrammets nye højde. Hvis dette argument udelades eller der angives en negativ værdi, efterlades diagramhøjden uændret.

note

Alle argumenter angives som heltalsværdier, der svarer til 1/100 af en millimeter.


Eksempel:

I Basic

      ' Ændrer kun x- og y-positionerne
      oChart.Rezise(1000, 3000)
      ' Ændrer kun diagrammets bredde og højde
      oChart.Resize(, , 25000, 12500)
      ' Nøgleordsargumenter understøttes
      oChart.Resize(Width := 25000, Height := 12500)
    
I Python

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

Alle ScriptForge Basic-rutiner eller identifikatorer, der er indledet med et understreget tegn "_" er reserveret til internt brug. Det er ikke meningen, at de skal bruges i Basic-makroer eller Python-scripts.


Støt os venligst!