Edukiak
Indizea 🔎︎

# ScriptForge.Chart zerbitzua

Chart zerbitzuak Calc dokumentuetako diagramak maneiatzeko propietate eta metodoen multzo bat eskaintzen du. Zerbitzu honekin honakoak egin daitezke:

- Calc dokumentuetako diagrama-objektuak atzitzea eta haien propietateak moldatzea.

- Calc dokumentu batean diagrama berriak sortu eta txertatzea.

- Diagramak irudi-fitxategi gisa esportatzea.

## Diagrama-izenak

Diagramek bi izen desberdin izan ditzakete:

- Diagrama-objektua sortzen denean LibreOffice aplikazioak ematen dion barneko izen bat (normalean "Object1", "Object2" eta abar).

- Erabiltzaileak definitutako izen bat, diagraman eskuineko klik egin eta laster-menuko Izena aukeratuta definitu daitekeena.

Chart zerbitzuak erabiltzaileak definitutako izena erabiltzen du diagrama-objektu bat atzitzeko. Izen hori ez badago, barneko izena erabiliko da.

## Zerbitzuari deitzea

Chart zerbitzuaren instantzia Calc zerbitzu-instantzia batetik abiatuta sortzen da, Charts edo CreateChart metodoetako bat erabilita.

##### Basic lengoaian

Beheko adibideak Chart zerbitzuaren instantzia bat sortzen du uneko Calc dokumentuan dagoen diagrama batetik:

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

Hurrengo adibidean, "Sheet1.A1:C10" barrutian dauden datuetan oinarritutako diagrama-objektu bat sortzen da Chart zerbitzuaren instantzia bat sortzeko.

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

Irakurri CreateChart metodoaren deskribapena bere argumentuak hobeto ezagutzeko.

##### Python lengoaian

Goiko adibidea honela idatzi daiteke Python lengoaian:

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

## Propietateak

Izena | Irakurtzeko soilik | Mota | Deskribapena
ChartType | Ez | String | Diagrama mota zehazten du, honeko balioetako bat duen kate gisa: "Tarta", "Barra", "Eraztuna", "Zutabea", "Area", "Marra", "XY", "Burbuila", "Sarea".
Deep | Ez | Boolean | True (egia) bada, horrek adierazten du diagramak hiru dimentsio dituela eta serie bakoitza Z norabidean antolatuta dagoela. False (faltsua) bada, serieak bi dimentsio soilik kontuan hartuta antolatzen dira.
Dim3D | Ez | Boolean or String | Diagramak hiru dimentsiotako elementuak izango dituen zehazten du. Balioa kate bat bada, "Barra", "Zilindroa", "Konoa" edo "Piramidea" izan behar du. True balio boolearra zehazten bada, diagrama 3D barren bidez bistaratuko da.
Exploded | Ez | Numeric | Tarta-zatiak diagramaren erdigunetik zein neurritan desplazatuta ageriko diren zehazten du, erradioaren ehuneko gisa. Tarta motako eta eraztun motako diagrametan soilik.
Filled | Ez | Boolean | True bada, betetako sare-diagrama bat zehazten du. Sare motako diagrametan soilik.
Legend | Ez | Boolean | Diagramak legendarik duen ala ez zehazten du.
Percent | Ez | Boolean | True bada, diagrama-serieak pilatu egingo dira eta kategoria bakoitzak % 100 osatuko du. 'Area', 'Barra', 'Burbuila', 'Zutabea' eta 'Sarea' diagramei aplikatu dakieke.
Stacked | Ez | Boolean | True bada, diagrama-serieak pilatu egingo dira. 'Area', 'Barra', 'Burbuila', 'Zutabea' eta 'Sarea' diagramei aplikatu dakieke.
Title | Ez | String | Diagramaren izenburu nagusia zehazten du.
XTitle | Ez | String | X ardatzaren izenburua zehazten du.
YTitle | Ez | String | Y ardatzaren izenburua zehazten du.
XChartObj | Bai | UNO objektua | Diagrama ordezkatzen duen objektua itzultzen du. Objektu hori ScChartObj klasearen instantzia bat da.
XDiagram | Bai | UNO objektua | Diagrama ordezkatzen duen com.sun.star.chart.XDiagram objektua itzultzen du.
XShape | Bai | UNO objektua | Diagramaren forma ordezkatzen duen com.sun.star.drawing.XShape objektua itzultzen du.
XTableChart | Bai | UNO objektua | Diagraman bistaratzen ari diren datuak ordezkatzen dituen com.sun.star.table.XTableChart objektua itzultzen du.

## Diagrama bat sortzea

Demagun "Report" izeneko orri bateko "A1:B6" barrutian beheko datuak ditugula.

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

Beheko adibideek, Basic eta Python lengoaietakoak, datu horietatik abiatuz legendak dituen marra-diagrama bat sortzen dute.

##### Basic lengoaian

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

##### Python lengoaian

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

Diagrama ez da zertan datuak kokatuta dauden orrian bertan sortu beharrik. Uneko fitxategiko edozein orritan sortu daiteke, CreateChart metodoaren bigarren argumentuan orriaren izena zehaztuz.

## Metodoak

Chart zerbitzuaren metodoen zerrenda
ExportToFile | Resize

## ExportToFile

Diagrama irudi-fitxategi gisa gordetzen du zehaztutako kokaleku batean. True (egia) itzultzen du irudia ondo sortu bada.

### Sintaxia:

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

### Parametroak:

filename: Irudia gordetzeko erabiliko den bide-izena eta fitxategi-izena identifikatzen ditu. SF_FileSystem.FileNaming notazioa erabili behar da.

imagetype: Sortuko den irudi motaren izena. Honako balioak onartzen dira: "gif", "jpeg", "png" (lehenetsia), "svg" eta "tiff".

overwrite: Helburu-fitxategia gainidatzi daitekeen zehazten du (balio lehenetsia = False).

### Adibidea:

##### Basic lengoaian

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

##### Python lengoaian

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

## Resize

Diagramak uneko orrian duen kokalekua aldatzen du eta bere zabalera eta altuera aldatzen ditu. True itzultzen du tamaina ongi aldatu bada.

### Sintaxia:

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

### Parametroak:

xpos, ypos: Zehaztu diagramaren X eta Y kokaleku berriak. Balio horietako bat ematen ez bada edo balioa negatiboa bada, hari dagokion kokalekua ez da aldatuko.

width: Zehaztu diagramaren zabalera berria. Argumentu hau ematen ez bada edo balio negatibo bat ematen bada, diagramaren zabalera ez da aldatuko.

height: Zehaztu diagramaren altuera berria. Argumentu hau ematen ez bada edo balio negatibo bat ematen bada, diagramaren altuera ez da aldatuko.

Argumentu guztiak milimetro baten 1/100 diren osoko balio gisa ematen dira.

### Adibidea:

##### Basic lengoaian

          ' X eta Y kokaguneak soilik aldatzen ditu
          oChart.Rezise(1000, 3000)
          ' Diagramaren zabalera eta altuera soilik aldatzen ditu
          oChart.Resize(, , 25000, 12500)
          ' Gako-hitz moduko argumentuak onartzen dira
          oChart.Resize(Width := 25000, Height := 12500)

##### Python lengoaian

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

Azpimarraren karaktere bat, "_", aurrizki gisa duten ScriptForge Basic errutina edo identifikatzaile guztiak barneko erabilerarako erreserbatuta daude. Ez dira Basic makroetan edo Python scriptetan erabili behar.

Erlazionatutako gaiak

SFDocuments.Calc zerbitzua