Služba SFDocuments.Chart

Služba Chart poskytuje sadu vlastností a metod pro obsluhu grafů v dokumentech Calcu. Umožňuje:

Názvy grafu

Grafy mohou mít dva různé názvy:

note

Služba Chart používá pro přístup k objektu s grafem přednostně uživatelem definovaný název. Pokud však neexistuje, použije se interní název.


Volání služby

Před používáním služby Chart je nutné načíst či naimportovat knihovnu ScriptForge pomocí:

note

• V makrech Basicu je nutné načíst knihovnu ScriptForge následujícím příkazem:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")

• Ve skriptech Pythonu je nezbytné import z modulu scriptforge:
from scriptforge import CreateScriptService


Instance služby Chart je vytvořena z instance služby Calc pomocí metodyCharts nebo CreateChart.

V Basicu

V příkladu níže je vytvořena instance služby Chart z existujícího grafu v aktuálním dokumentu Calcu.


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

V následujícím příkladu je vytvořena instance služby Chart tím, že se vytvoří objekt z grafem založeným na datech z oblasti "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

Podrobnosti o argumentech metody CreateChart obsahuje její popis.


V Pythonu

V Pythonu lze tyto příklady zapsat následovně:


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

Vlastnosti

Název

Pouze pro čtení

Typ

Popis

ChartType

ne

String

Určuje typ grafu jako řetězec, který může nabývat některé z následujících hodnot: "Pie" (výsečový), "Bar" (řádkový), "Donut" (prstencový), "Column" (sloupcový), "Area" (plošný), "Line" (čárový), "XY" (bodový), "Bubble" (bublinový) nebo "Net" (paprskový).

Deep

ne

Boolean

Je-li True, značí, že graf je trojrozměrný a že každá řada je umístěna ve směru osy Z.

Je-li False, jsou řady umístěna pouze ve dvou rozměrech.

Dim3D

ne

Boolean or String

Určuje, zda je graf zobrazen s trojrozměrnými prvky. Pokud je hodnotou řetězec, musí nabývat hodnoty "Bar" (kvádr), "Cylinder" (válec), "Cone" (kužel) nebo "Pyramid" (jehlan).

Je-li určena booleovská hodnota True, graf se zobrazí s kvádry.

Exploded

ne

Numeric

Určuje v procentech poloměru, jak jsou výseče posunuty od středu grafu. Týká se pouze výsečových a prstencových grafů.

Filled

ne

Boolean

Je-li True, určuje, že paprskový graf je vyplněný. Týká se pouze paprskových grafů.

Legend

ne

Boolean

Určuje, zda má graf legendu.

Percent

ne

Boolean

Je-li True, řady grafu se poskládají na sebe a součet každé kategorie bude 100 %. Týká se plošných, řádkových, bublinových, sloupcových a paprskových grafů.

Stacked

ne

Boolean

Je-li True, řady grafu se poskládají na sebe. Týká se plošných, řádkových, bublinových, sloupcových a paprskových grafů.

Title

ne

String

Určuje hlavní nadpis grafu.

XTitle

ne

String

Určuje popis osy X.

YTitle

ne

String

Určuje popis osy Y.

XChartObj

ano

Objekt UNO

Vrátí objekt představující graf, který je instancí třídy ScChartObj.

XDiagram

ano

Objekt UNO

Vrátí objekt com.sun.star.chart.XDiagram představující diagram grafu.

XShape

ano

Objekt UNO

Vrátí objekt com.sun.star.drawing.XShape představující tvar grafu.

XTableChart

ano

Objekt UNO

Vrátí objekt com.sun.star.table.XTableChart představující v grafu zobrazená data.


Vytvoření grafu

Oblast "A1:B6" na listu pojmenovaném "Report" obsahuje následující data:

A

B

1

Sample A

Sample B

2

36

40

3

39

43

4

45

40

5

52

48


Následující příklady v Basicu a Pythonu ukazují, jak z těchto dat vytvořit čárový graf s legendou.

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

Není nutné, aby byl graf vytvořen na témže listu jako data. Na libovolném existujícím listu aktuálního souboru jej lze vytvořit tím, že uvedete název listu jako druhý argument metody CreateChart.


Metody

Seznam metod služby Chart

ExportToFile

Resize


ExportToFile

Uloží graf na zadané umístění jako soubor obrázku. V případě úspěšného vytvoření souboru vrátí True.

Syntaxe:

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

Parametry:

filename: Určuje cestu a název souboru, kam se má obrázek uložit. Musí odpovídat zápisu SF_FileSystem.FileNaming.

imagetype: Název typu obrázku, který se má vytvořit. Použít lze následující hodnoty: "gif", "jpeg", "png" (výchozí), "svg" a "tiff".

overwrite: Určuje, zda se může cílový soubor přepsat (výchozí = False).

Příklad:

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

Změní šířku a výšku grafu a jeho umístění na aktuálním listu. V případě úspěšné změny velikosti vrátí True.

Syntaxe:

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

Parametry:

xpos, ypos: Určuje souřadnice X a Y nového umístění grafu. Je-li některá z těchto hodnot vynechána nebo jsou-li zadány záporné hodnoty, umístění se nezmění.

width: Určuje novou šířku grafu. Je-li tento argument vynechán nebo je-li zadána záporná hodnota, šířka grafu se nezmění.

height: Určuje novou výšku grafu. Je-li tento argument vynechán nebo je-li zadána záporná hodnota, výška grafu se nezmění.

note

Všechny argumenty se zadávají jako celočíselné hodnoty, jednotka odpovídá 1/100 milimetru.


Příklad:

V Basicu

      ' Změní pouze umístění X a Y
      oChart.Rezise(1000, 3000)
      ' Změní pouze šířku a výšku grafu
      oChart.Resize(, , 25000, 12500)
      ' Podporovány jsou názvy argumentů
      oChart.Resize(Width := 25000, Height := 12500)
    
V Pythonu

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

Všechny procedury nebo identifikátory knihovny ScriptForge, které jsou uvozeny podtržítkem "_", jsou určeny pro interní použití. Není zamýšleno je používat v makrech Basicu nebo skriptech Pythonu.


Podpořte nás!