Innhold
Innholdsliste 🔎︎

# SFDocuments.Chart-tjeneste

Tjenesten Chart gir et sett med egenskaper og metoder for å håndtere diagrammer i Calc-dokumenter. Med denne tjenesten er det mulig å:

- Få tilgang til kartobjekter i Calc-dokumenter og manipuler egenskapene deres.

- Opprett og sett inn nye diagrammer i et Calc-dokument.

- Eksporter diagrammer som bildefiler.

## Diagramnavn

Diagrammer kan ha to forskjellige navn:

- Et internt navn gitt av LibreOffice så snart diagramobjektet er opprettet (vanligvis "Objekt 1", "Objekt 2" og så videre).

- Et brukerdefinert navn, som kan defineres ved å høyreklikke på diagrammet og velge Navn i hurtigmenyen.

Tjenesten Diagram bruker primært det brukerdefinerte navnet for å få tilgang til et Diagramobjekt. Hvis det ikke eksisterer, brukes det interne navnet.

## Tjenestepåkallelse

Før du bruker Chart-tjenesten, må ScriptForge-biblioteket lastes eller importeres:

• Grunnleggende makroer krever å laste ScriptForge-biblioteket ved hjelp av følgende setning:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
• Python-skript krever import fra scriptforge-modulen:
fra scriptforge import CreateScriptService

Diagram-tjenesten er instansiert fra en Calc-tjenesteforekomst, enten ved å bruke metodene Diagrammer eller CreateChart.

##### I Basic

Eksemplet nedenfor oppretter en Diagram tjenesteforekomst fra et eksisterende diagram i det gjeldende Calc-dokumentet:

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

Følgende eksempel instansierer Diagram-tjenesten ved å lage et nytt diagramobjekt basert på dataene 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")

Les metodebeskrivelsen CreateChart for å lære mer om argumentene.

##### I Python

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

## Egenskaper

Navn | Skrivebeskyttet | Type | Beskrivelse
--- | --- | --- | ---
ChartType | Nei | String | Spesifiserer diagramtypen som en streng som kan anta en av følgende verdier: "Kake", "Stolpe", "Smultring", "Kolonne", "Område", "Linje", "XY", "Boble", "Netto ".
Deep | Nei | Boolean | Når Sann indikerer at diagrammet er tredimensjonalt og hver serie er ordnet i z-retningen. Når Usann-serier er ordnet med bare to dimensjoner.
Dim3D | Nei | Boolean or String | Angir om diagrammet vises med 3D-elementer. Hvis verdien er en streng, må den enten være «Stolpe», «Sylinder», «Kon» eller «Pyramide». Hvis den boolske verdien Sann er spesifisert, vises diagrammet ved hjelp av 3D-stolper.
Exploded | Nei | Numeric | Angir hvor mye kakesegmenter som er forskjøvet fra diagramsenteret som en prosentandel av radiusen. Gjelder kun for kake- og smultringdiagrammer.
Filled | Nei | Boolean | Når Sann, spesifiserer et fylt nettodiagram. Gjelder kun nettdiagrammer.
Legend | Nei | Boolean | Angir om diagrammet har en forklaring eller ikke.
Percent | Nei | Boolean | Når True, er diagramserier stablet og hver kategori summerer opp til 100 %. Gjelder for område-, søyle-, boble-, kolonne- og nettdiagrammer.
Stacked | Nei | Boolean | Når sann, er diagramserier stablet. Gjelder for område-, søyle-, boble-, kolonne- og nettdiagrammer.
Title | Nei | String | Angir hovedtittelen til diagrammet.
XTitle | Nei | String | Angir tittelen på X-aksen.
YTitle | Nei | String | Angir tittelen på Y-aksen.
XChartObj | Ja | UNO Objekt | Returnerer objektet som representerer diagrammet, som er en forekomst av ScChartObj klasse.
XDiagram | Ja | UNO Objekt | Returnerer com.sun.star.chart.XDiagram objekt som representerer diagrammet til diagrammet.
XShape | Ja | UNO Objekt | Returnerer com.sun.star.drawing.XShape objekt som representerer formen på diagrammet.
XTableChart | Ja | UNO Objekt | Returnerer com.sun.star.table.XTableChart-objektet som representerer dataene som vises i diagrammet.

## Opprette et diagram

Vurder følgende data i området "A1:B6" i et ark kalt "Rapport".

| A | B
--- | --- | ---
1 | Sample A | Sample B
2 | 36 | 40
3 | 39 | 43
4 | 45 | 40
5 | 52 | 48

Eksemplene nedenfor i Basic og Python viser hvordan du lager et linjediagram fra disse dataene 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)

Diagrammet trenger ikke å opprettes i samme ark der dataene er plassert. Det kan opprettes i et hvilket som helst eksisterende ark i gjeldende fil ved å spesifisere arknavnet i det andre argumentet til CreateChart-metoden.

## Metoder

Liste over metoder i diagramtjenesten
ExportToFile | Resize

## ExportToFile

Lagrer diagrammet som en bildefil på et spesifisert sted. Returnerer Sann hvis bildefilen kunne opprettes.

### Syntaks:

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

### Parametre:

filnavn: Identifiserer stien og filnavnet der bildet skal lagres. Den må følge notasjonen som er definert i SF_FileSystem.FileNaming.

imagetype: Navnet på bildetypen som skal opprettes. Følgende verdier godtas: "gif", "jpeg", "png" (standard), "svg" og "tiff".

overskriv: Angir om målfilen kan overskrives (Standard = Usann).

### 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

Endrer posisjonen til diagrammet i gjeldende ark og endrer bredden og høyden. Returnerer Sann hvis endring av størrelse var vellykket.

### Syntaks:

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

### Parametre:

xpos, ypos: Spesifiser de nye X- og Y-posisjonene til diagrammet. Hvis noen av disse verdiene utelates eller hvis negative verdier er oppgitt, forblir de tilsvarende posisjonene uendret.

bredde: Spesifiser den nye bredden på diagrammet. Hvis dette argumentet utelates eller hvis en negativ verdi angis, forblir diagrambredden uendret.

høyde: Angi den nye høyden på diagrammet. Hvis dette argumentet utelates eller hvis en negativ verdi er oppgitt, forblir diagramhøyden uendret.

Alle argumenter er gitt som heltallsverdier som tilsvarer 1/100 av en millimeter.

### Eksempel:

##### I Basic

          ' Endrer bare X- og Y-posisjon
          oChart.Rezise(1000, 3000)
          ' Endrer kun diagrambredden og -høyden
          oChart.Resize(, , 25000, 12500)
          ' Søkeordargumenter er støttet
          oChart.Resize(Width := 25000, Height := 12500)

##### I Python

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

Alle ScriptForge Grunnleggende rutiner eller identifikatorer som er prefikset med et understrekingstegn "_" er reservert for intern bruk. De er ikke ment å brukes i grunnleggende makroer eller Python-skript.

Lignende emner

SFDocuments.Calc tjeneste