Wobsah

# Słužba SFDocuments.Chart

Słužba Chart sadźbu kajkosćow a metodow za wobchadźenje z diagramami w dokumentach Calc skići. Z tutej słužbu je móžno:

- Přistup k diagramowym objektam w dokumentach Calc a wobdźěłanje jich kajkosćow.

- Nowe diagramy do dokumenta Calc wutworić a zasadźić.

- Diagramy jako wobrazowe dataje eksportować.

## Diagramowe mjena

Diagramy móža dwě rozdźělnej mjenje měć:

- Nutřkowne mjeno, kotrež so přez LibreOfficeDev da, hdyž so diagramowy objekt wutworja (zwjetša "Objekt 1", "Objekt 2" atd.).

- Swójske mjeno, kotrež dadźa so přez kliknjenje z prawej tastu na diagram a wuběranje Mjeno… w kontekstowym meniju definować.

Słužba Chart w normalnym padźe swójske mjeno za přistup k diagramowemu objektej wužiwa. Jeli njeeksistuje, so nutřkowne mjeno wužiwa.

## Słužbowe wuwołanje

Před wužiwanjom słužby Chart dyrbi so biblioteka ScriptForge začitać abo importować.

• Makra Basic sej wužaduja, zo so biblioteka ScriptForge z pomocu slědowaceho přikaza začituje:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
• Skripty Python sej import z modula scriptforge wužaduja:
from scriptforge import CreateScriptService

Słužba Chart so ze słužboweje instancy Calc instancuje, pak z metodu Charts abo z metodu CreateChart.

##### W Basic

Slědowacy přikład słužbowu instancu Chart z eksistowaceho diagrama w aktualnym dokumenće Calc wutworja:

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

Slědowacy přikład słužbu Chart přez wutworjenje noweho diagramoweho objekta na zakładźe datow instancuje, kotrež su we wobłuku "Sheet1.A1:C10" wopřijate.

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

Čitajće metodowe wopisanje CreateChart, zo byšće wjace wo jeje argumentach zhonił.

##### W Python

Přikłady horjeka hodźa so w Python takle pisać:

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

## Kajkosće

Mjeno | Přećiwo pisanju škitany | Typ | Wopisanje
--- | --- | --- | ---
ChartType | Ně | String | Podawa diagramowy typ jako znamješkowy rjećazk, kotryž móže slědowace hódnoty přijeć: "Pie", "Bar", "Donut", "Column", "Area", "Line", "XY", "Bubble", "Net".
Deep | Ně | Boolean | Hdyž True podawa, zo diagram je třidimensionalny a kóždy rjad je w z-směrje zrjadowany. Hdyž to je False, so jenož dwě dimensiji wobkedźbujetej, hdyž so rjady rjaduja.
Dim3D | Ně | Boolean or String | Podawa, hač diagram so z elementami 3D pokazuje. Jeli hódnota je znamješkowy rjećazk, dyrbi pak "Bar", "Cylinder", "Cone" pak "Pyramid" być. Jeli logiska hódnota (boolean) True je podata, so diagram z hrjadami 3D pokazuje.
Exploded | Ně | Numeric | Podawa, wo kelko tykancowych segmentow je wot srjedźizny diagrama jako procentowa sadźba radiusa přesadźa. Płaći jenož za tykancowe a kołowe diagramy.
Filled | Ně | Boolean | Hdyž to je True, podawa so wupjelnjeny syćowy diagram. Płaći jenož za syćowe diagramy.
Legend | Ně | Boolean | Podawa, hač diagram ma legendu abo nic.
Percent | Ně | Boolean | Hdyž to je True, so diagramowe rjady stapluja a kóžda kategorija so na 100 % suměruje. Płaći za płoninowe, hrjadowe, pucherjowe, špaltowe a syćowe diagramy.
Stacked | Ně | Boolean | Hdyž to je True, so diagramowe rjady stapluja. Płaći za płoninowe, hrjadowe, pucherjowe, špaltowe a syćowe diagramy.
Title | Ně | String | Podawa hłowny titul diagrama.
XTitle | Ně | String | Podawa titul X-wóski.
YTitle | Ně | String | Podawa titul Y-wóski.
XChartObj | Haj | Objekt UNO | Wróći objekt, kotryž diagram reprezentuje, kotryž je instanca klasy ScChartObj.
XDiagram | Haj | Objekt UNO | Wróći objekt com.suns.star.chart.XDiagram, kotryž diagram diagramoweho objekta reprezentuje.
XShape | Haj | Objekt UNO | Wróći objekt com.sun.star.drawing.XShape, kotryž twar diagrama reprezentuje.
XTableChart | Haj | Objekt UNO | Wróći objekt com.sun.star.table.XTableChart, kotryž daty reprezentuje, kotrež so w diagramje pokazuja.

## Diagram wutworić

Wobhladajće sej slědowace daty we wobłuku "A1:B6" tabele z mjenom "Report".

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

Slědowace přikłady w Basic a Python pokazuja, kak móžeće linijowy diagram z legendami z tutych datow wutworić.

##### W Basic

        oDoc = CreateScriptService("Calc")
        oChart = oDoc.CreateChart("Samples", "Report", "Report.A1:B6")
        oChart.ChartType = "Line"
        oChart.Legend = True
        oChart.Resize(1000, 1000, 25000, 15000)

##### W Python

        doc = CreateScriptService("Calc")
        chart = doc.CreateChart("Samples", "Report", "Report.A1:B6")
        chart.ChartType = "Line"
        chart.Legend = True
        chart.Resize(1000, 1000, 25000, 15000)

Diagram njetrjeba so w samsnej tabeli wutworić, hdźež daty su. Da so w eksistowacej tabeli w aktualnej dataji wutworić, hdyž tabelowe mjeno w druhim argumenće metody CreateChart podawaće.

## Metody

Lisćina metodow w słužbje Chart
ExportToFile | Resize

## ExportToFile

Składuje diagram jako wobrazowu dataju na podatym městnje. Wróći True, jeli wobrazowa dataja da so wuspěšnje wutworić.

### Syntaksa:

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

### Parametry:

filename: Identifikuje šćežku a datajowe mjeno, hdźež so wobraz składuje. Dyrbi so notacije dźeržeć, kotraž je w SF_FileSystem.FileNaming definowana.

imagetype: Mjeno wobrazoweho typa, kotryž so ma wutworić. Slědowace hódnoty so akceptuja: "gif", "jpeg", "png" (standard), "svg" a "tiff".

overwrite: Postaja, hač cilowa dataja da so přepisać (standard = False).

### Přikład:

##### W Basic

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

##### W Python

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

## Resize

Změni poziciju diagrama w aktualnej tabeli a měnja jeho šěrokosć a wysokosć. Wróći True, jeli změnjenje wulkosće bě wuspěšne.

### Syntaksa:

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

### Parametry:

xpos, ypos: Podawa nowe pozicije X a Y diagrama. Jeli so jedna tutych hódnotow wuwostaja abo jeli so negatiwne hódnoty podawaja, wotpowědne pozicije njezměnjene wostawaja.

width: Podawa nowu šěrokosć diagrama. Jeli so tutón argument wuwostaja abo jeli so negatiwna hódnota podawa, šěrokosć diagrama njezměnjeny wostawa.

height: Podawa nowu wysokosć diagrama. Jeli so tutón argument wuwostaja, abo jeli so negatiwna hódnota podawa, wysokosć diagrama njezměnjena wostawa.

Wšě argumenty so jako cyłe hódnoty podawaja, kotrež 1/100 milimetrej wotpowěduja.

### Přikład:

##### W Basic

          ' Změni jenož poziciji X a Y
          oChart.Rezise(1000, 3000)
          ' Změni jenož šěrokosć a wysokosć diagrama
          oChart.Resize(, , 25000, 12500)
          ' Argumenty klučowych słowow so podpěruja
          oChart.Resize(Width := 25000, Height := 12500)

##### W Python

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

Wšě rutiny Basic ScriptForge abo identifikatory, kotrež so z podsmužku „_“ započinaja, su za interne wužiwanje wuměnjene. Njejsu za to myslene, so w makrach Basic abo skriptach Python wužiwać.

Podobne temy

Słužba SFDocuments.Calc

Prošu podpěrajće nas!