Vsebina
Kazalo 🔎︎

# Storitev SFDocuments.Chart

Storitev Chart zagotavlja nabor lastnosti in metod za ravnanje z grafikoni v dokumentih Calc. Ta storitev omogoča:

- Dostop do predmetov grafikonov v dokumentih programa Calc in upravljanje z njihovimi lastnostmi.

- Ustvarjanje in vstavljanje novih grafikonov v dokumentih programa Calc.

- Izvoz grafikonov kot slikovnih datotek.

## Imena grafikonov

Grafikoni imajo lahko dve različni imeni:

- Interno ime, ki ga določi LibreOfficeDev ob izdelavi predmeta grafikona (običajno »Predmet 1«, »Predmet 2« itn.).

- Uporabniško določeno ime, ki ga lahko določite z desnim klikom grafikona in izborom ukaza Ime v kontekstnem meniju.

Storitev Chart najprej uporabi uporabniško določeno ime za dostop do predmeta grafikona. Če to ne obstaja, uporabi interno ime.

## Priklic storitve

Pred uporabo storitve Chart je potrebno naložiti ali uvoziti knjižnico ScriptForge:

• Za makre Basic mora biti naložena knjižnica ScriptForge z naslednjim ukazom:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
• Za skripte Python mora biti opravljen uvoz iz modula scriptforge:
from scriptforge import CreateScriptService

Storitev Chart je priklicana iz obstoječe instance storitve Calc prek njene metode Charts ali CreateChart.

##### V Basicu

Spodnji primer ustvari instanco storitve Chart, ki se nanaša na obstoječi grafikon v trenutno dejavnem dokumentu Calc:

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

Naslednji primer ustvari instanco storitve Chart z ustvarjanjem novega predmeta grafikona glede na podatke iz obsega »Sheet1.A1:C10«.

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

Glejte opis metode CreateChart, da izveste več o njenih argumentih.

##### V Pythonu

Zgornje primere lahko zapišemo v Pythonu na sledeč način:

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

## Lastnosti

Ime | Samo za branje | Vrsta | Opis
--- | --- | --- | ---
ChartType | Ne | String | Niz, ki določa vrsto grafikona in ima lahko eno od naslednjih vrednosti: »Pie« (tortni), »Bar« (stolpčni), »Donut« (kolobarski), »Column« (stolpčni), »Area« (ploščinski), »Line« (črtni), »XY« (razpršeni), »Bubble« (mehurčni), »Net« (mrežni).
Deep | Ne | Boolean | Če je True, določa, da je grafikon tridimenzionalen in da je vsak niz razporejen v z-smeri. Če je False, so nizi razporejeni zgolj glede na dve dimenziji.
Dim3D | Ne | Boolean or String | Določa, ali je grafikon prikazan s 3D-elementi. Če je vrednost niz, mora imeti eno od naslednjih vrednosti: »Bar« (stolpec), »Cylinder« (valj), »Cone« (stožec) ali »Pyramid« (piramida). Če je podana logična vrednost True, bo grafikon prikazan kot 3D-stolpčni.
Exploded | Ne | Numeric | Določa, koliko so rezine tortnega grafikona odmaknjene iz središča grafikona, v odstotkih polmera. Parameter velja le za tortne in kolobarske grafikone.
Filled | Ne | Boolean | Če je True, določa zapolnjen mrežni grafikon. Parameter velja le za mrežne grafikone.
Legend | Ne | Boolean | Določa, ali ima grafikon legendo.
Percent | Ne | Boolean | Če je True, so nizi grafikona zloženi in vsaka kategorija tvori skupaj 100 %. Parameter velja le za grafikone vrste Area (površinski), Bar (stolpčni), Bubble (mehurčni), Column (navpični stolpčni) in Net (mrežni).
Stacked | Ne | Boolean | Če je True, so nizi grafikona skladani. Ti parametri so primerni za grafikone Area (površinski), Bar (stolpčni), Bubble (mehurčni), Column (navpični stolpčni) in Net (mrežni).
Title | Ne | String | Določa glavni naslov grafikona.
XTitle | Ne | String | Določa naslov osi X.
YTitle | Ne | String | Določa naslov osi Y.
XChartObj | Da | Predmet UNO | Vrne predmet, ki predstavlja grafikon, ki je instanca razreda ScChartObj.
XDiagram | Da | Predmet UNO | Vrne predmet com.sun.star.chart.XDiagram, ki predstavlja diagram grafikona.
XShape | Da | Predmet UNO | Vrne predmet com.sun.star.drawing.XShape, ki predstavlja obliko grafikona.
XTableChart | Da | Predmet UNO | Vrne predmet com.sun.star.table.XTableChart, ki predstavlja podatke, ki so prikazani v grafikonu.

## Ustvarjanje grafikona

Vzemimo za primer naslednje podatke v obsegu »A1:B6« delovnega lista z imenom »Report«.

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

Spodnja primera v Basicu in Pythonu kažeta, kako ustvarite črtni grafikon iz teh podatkov z legendami.

##### V Basicu

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

##### V Pythonu

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

Grafikona ni potrebno ustvariti na istem delovnem listu, na katerem se nahajajo podatki. Ustvarite ga lahko na poljubnem obstoječem delovnem listu v trenutni datoteki, tako da navedete ime delovnega lista kot drugi argument metode CreateChart.

## Metode

Seznam metod v storitvi Chart
ExportToFile | Resize

## ExportToFile

Shrani grafikon kot slikovno datoteko na navedenem mestu. Vrne True, če je bila slikovna datoteka uspešno ustvarjena.

### Skladnja:

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

### Parametri:

filename: določa pot in ime datoteke, kamor bo shranjena slika. Slediti mora zapisu SF_FileSystem.FileNaming.

imagetype: ime vrste slike, ki jo želite ustvariti. Dovoljene so naslednje vrednosti: "gif", "jpeg", "png" (privzeto), "svg" in "tiff".

overwrite: določa, ali je ciljno datoteko možno prepisati (privzeta vrednost je False).

### Primer:

##### V Basicu

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

##### V Pythonu

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

## Resize

Spremeni položaj grafikona na trenutnem delovnem listu in spremeni njegovo širino in višino. Vrne True, če je spreminjanje velikosti uspelo.

### Skladnja:

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

### Parametri:

xpos, ypos: določite novi vrednosti položaja grafikona (koordinati X in Y). Če katera od teh vrednosti ni podana ali ima negativno vrednost, ostane položaj takšne koordinate nespremenjen.

width: določite novo širino grafikona. Če je ta argument izpuščen ali ima negativno vrednost, ostane širina grafikona nespremenjena.

height: določite novo višino grafikona. Če je ta argument izpuščen ali ima negativno vrednost, ostane višina grafikona nespremenjena.

Vsi argumenti so podani kot celoštevilske vrednosti, ki ustrezajo stotinki milimetra.

### Primer:

##### V Basicu

          ' Spremeni le položaj X in Y
          oChart.Rezise(1000, 3000)
          ' Spremeni le širino in višino grafikona
          oChart.Resize(, , 25000, 12500)
          ' Imenovani argumenti so podprti
          oChart.Resize(Width := 25000, Height := 12500)

##### V Pythonu

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

Vsi podprogrami ali identifikatorji ScriptForge Basic s predpono podčrtaja (»_«) so rezervirani za interno uporabo. Uporabi v makrih Basic ali skriptih Python niso namenjeni.

Podobne teme

Storitev SFDocuments.Calc