SFDocuments.Chart service

Teenesta Chart (diagram) leverer eit sett eigenskapar og metodar for å handsama diagram i Calc-dokument. Med denne tenesta er det råd å:

Diagramnamn

Diagramma kan ha to ulike namn:

note

Tenesta Chart (diagram) brukar primært det brukardefinerte namnet for å få tilgang til eit diagram-objekt. Viss det ikkje finst, vert det interne namnet brukt.


Oppkall av teneste

Before using the Chart service the ScriptForge library needs to be loaded or imported:

note

• Basic macros require to load ScriptForge library using the following statement:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")

• Python scripts require an import from scriptforge module:
from scriptforge import CreateScriptService


Tenesta Chart (diagram) vert starta frå ei teneste i Calc med ein av metodane Charts (diagram) eller CreateChart (lag_diagram).

I Basic

Eksemplet nedanfor lagar ein tenesteførekomst av Chart (diagram) frå eit diagram som finst frå før i det gjeldande Calc-dokumentet:


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

The following example instantiate the Chart service by creating a new chart object based on the data contained in the range "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

Read the CreateChart method description to learn more about its arguments.


I Python

The examples above can be written in Python as follows:


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

Properties

Name

Readonly

Type

Description

ChartType

No

String

Specifies the chart type as a string that can assume one of the following values: "Pie", "Bar", "Donut", "Column", "Area", "Line", "XY", "Bubble", "Net".

Deep

No

Boolean

When True indicates that the chart is three-dimensional and each series is arranged in the z-direction.

When False series are arranged considering only two dimensions.

Dim3D

No

Boolean or String

Specifies if the chart is displayed with 3D elements. If the value is a string, it must be either "Bar", "Cylinder", "Cone" or "Pyramid".

If the boolean True value is specified, then the chart is displayed using 3D bars.

Exploded

No

Numeric

Specifies how much pie segments are offset from the chart center as a percentage of the radius. Applicable to pie and donut charts only.

Filled

No

Boolean

When True, specifies a filled net chart. Applicable to net charts only.

Legend

No

Boolean

Specifies whether or not the chart has a legend.

Percent

No

Boolean

When True, chart series are stacked and each category sums up to 100%. Applicable to Area, Bar, Bubble, Column and Net charts.

Stacked

No

Boolean

When True, chart series are stacked. Applicable to Area, Bar, Bubble, Column and Net charts.

Title

No

String

Specifies the main title of the chart.

XTitle

No

String

Specifies the title of the X axis.

YTitle

No

String

Specifies the title of the Y axis.

XChartObj

Yes

UNO Object

Returns the object representing the chart, which is an instance of the ScChartObj class.

XDiagram

Yes

UNO Object

Returns the com.sun.star.chart.XDiagram object representing the diagram of the chart.

XShape

Yes

UNO Object

Returns the com.sun.star.drawing.XShape object representing the shape of the chart.

XTableChart

Yes

UNO Object

Returns the com.sun.star.table.XTableChart object representing the data being displayed in the chart.


Laga eit diagram

Sjå på dataa i området "A1:B6" i arket "Rapport".

A

B

1

Sample A

Sample B

2

36

40

3

39

43

4

45

40

5

52

48


Eksempla nedanfor i Basic og Python viser korleis du kan laga eit linjediagram frå desse dataa med forklaringar.

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 treng ikkje lagast i det same arket som dataa er frå. Det kan setjast opp i eit vilkårleg ark i den gjeldande fila ved å skriva inn arknamnet som det andre argumentet i metoden CreateChart (lag diagram).


Metodar

Liste over metodar i tenesta Chart (diagram)

ExportToFile

Resize


ExportToFile

Lagrar diagrammet som ei biletfil i den spesifiserte plasseringa. Returnerer Sann viss opprettinga av biletfila lukkast.

Syntaks:

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

Parametrar:

filnamn: Identifiserer stien og filnamnet der biletet vert lagra. Det må følgja notasjonen som er definert i SF_FileSystem.FileNaming.

bilettype: Namnet på den bilettypen som skal lagast. Desse verdiane vert godtekne: "gif", "jpeg", "png" (standard), "svg" og "tiff".

overskriv: Spesifiserer om målfila kan overskrivast (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

Endrar plasseringa av diagrammet i det gjeldande arket og endrar breidda og høgda på det. Returnerer Sann viss endringa var vellukka.

Syntaks:

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

Parametrar:

xpos, ypos: Gjev dei nye x- og y-posisjonane til diagrammet. Viss nokre av desse verdiane manglar eller er negative, vert dei tilsvarande plasseringane ikkje endra.

breidd: Spesifiser den nye breidda på diagrammet. Viss dette argumentet vert sløyfa eller er negativt, vert diagrammet ikkje endra.

høgd: Spesifiser den nye høgda på diagrammet. Viss dette argumentet vert sløyfa eller er negativt, vert diagrammet ikkje endra.

note

Alle argumenta vert gjevne som heiltal som svarar til 1/100 av ein millimeter.


Eksempel:

I Basic

      ' Endrar berre X- og Y-posisjonane
      oChart.Rezise(1000, 3000)
      ' Endrar berre høgda og breidda på diagrammet
      oChart.Resize(, , 25000, 12500)
      ' Nøkkelordargument vert støtta
      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-rutinane og -identifikatorane som vert innleidde med understrek «_» er reserverte for internt bruk. Dei er ikkje meint brukte i Basic-makroar.