Usługa SFDocuments.Chart

Usługa Chart udostępnia zestaw właściwości i metod obsługi wykresów w dokumentach programu Calc. Dzięki tej usłudze możliwe jest:

Nazwy wykresów

Wykresy mogą mieć dwie różne nazwy:

note

Usługa Chart używa przede wszystkim nazwy zdefiniowanej przez użytkownika, aby uzyskać dostęp do obiektu wykresu. Jeśli nie istnieje, używana jest nazwa wewnętrzna.


Wywoływanie usługi

Przed użyciem usługi Chart należy załadować lub zaimportować bibliotekę ScriptForge:

note

• Podstawowe makra wymagają załadowania biblioteki ScriptForge przy użyciu następującej instrukcji:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")

• Skrypty Pythona wymagają importu z modułu scriptforge:
from scriptforge import CreateScriptService


Usługa Chart jest tworzona z instancji usługi Calc przy użyciu metody Charts lub CreateChart.

W języku Basic

Poniższy przykład tworzy instancję usługi Chart na podstawie istniejącego wykresu w bieżącym dokumencie Calc:


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

Poniższy przykład ilustruje instancję usługi Chart poprzez utworzenie nowego obiektu wykresu na podstawie danych zawartych w zakresie "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

Przeczytaj opis metody CreateChart, aby dowiedzieć się więcej o jej argumentach.


W języku Python

Powyższe przykłady można zapisać w Pythonie w następujący sposób:


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

Właściwości

Nazwa

Tylko do odczytu

Typ

Opis

ChartType

Nie

String

Określa typ wykresu jako ciąg znaków, który może przyjmować jedną z następujących wartości: "Pie", "Bar", "Donut", "Column", "Area", "Line", "XY", "Bubble", "Net ".

Deep

Nie

Boolean

Gdy True wskazuje, że wykres jest trójwymiarowy, a każda seria jest ułożona w kierunku osi Z.

Gdy serie False są ułożone z uwzględnieniem tylko dwóch wymiarów.

Dim3D

Nie

Boolean or String

Określa, czy wykres jest wyświetlany z elementami 3D. Jeśli wartością jest ciąg znaków, musi to być "Bar", "Cylinder", "Cone" lub "Pyramid".

Jeśli zostanie podana wartość logiczna True, wówczas wykres zostanie wyświetlony w formie słupków 3D.

Exploded

Nie

Numeric

Określa, jak bardzo segmenty koła są odsunięte od środka wykresu jako procent promienia. Dotyczy tylko wykresów kołowych i pierścieniowych.

Filled

Nie

Boolean

Gdy True, określa wypełniony wykres sieciowy. Dotyczy wyłącznie wykresów sieciowych.

Legend

Nie

Boolean

Określa, czy wykres ma legendę.

Percent

Nie

Boolean

Jeśli True, serie wykresów są kumulowane, a suma każdej kategorii wynosi 100%. Ma zastosowanie do wykresów warstwowych, słupkowych, bąbelkowych, kolumnowych i sieciowych.

Stacked

Nie

Boolean

Jeśli True, serie wykresów są kumulowane. Ma zastosowanie do wykresów warstwowych, słupkowych, bąbelkowych, kolumnowych i sieciowych.

Title

Nie

String

Określa główny tytuł wykresu.

XTitle

Nie

String

Określa tytuł osi X.

YTitle

Nie

String

Określa tytuł osi Y.

XChartObj

Tak

Obiekt UNO

Zwraca obiekt reprezentujący wykres będący instancją klasy ScChartObj.

XDiagram

Tak

Obiekt UNO

Zwraca obiekt com.sun.star.chart.XDiagram reprezentujący schemat wykresu.

XShape

Tak

Obiekt UNO

Zwraca obiekt com.sun.star.drawing.XShape reprezentujący kształt wykresu.

XTableChart

Tak

Obiekt UNO

Zwraca obiekt com.sun.star.table.XTableChart reprezentujący dane wyświetlane na wykresie.


Tworzenie wykresu

Rozważ następujące dane w zakresie „A1:B6” arkusza o nazwie „Report”.

A

B

1

Sample A

Sample B

2

36

40

3

39

43

4

45

40

5

52

48


Poniższe przykłady w języku Basic i Python pokazują, jak utworzyć wykres liniowy z tych danych wraz z legendami.

W języku 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 języku 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

Wykresu nie trzeba tworzyć w tym samym arkuszu, w którym znajdują się dane. Można go utworzyć w dowolnym istniejącym arkuszu w bieżącym pliku, podając nazwę arkusza w drugim argumencie metody CreateChart.


Metody

Lista metod w usłudze Chart

ExportToFile

Resize


ExportToFile

Zapisuje wykres jako plik obrazu w określonej lokalizacji. Zwraca True, jeśli plik obrazu mógł zostać pomyślnie utworzony.

Składnia:

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

Parametry:

filename: określa ścieżkę i nazwę pliku, w którym obraz zostanie zapisany. Musi być zgodny z notacją zdefiniowaną w SF_FileSystem.FileNaming.

imagetype: nazwa typu obrazu, który ma zostać utworzony. Akceptowane są następujące wartości: „gif”, „jpeg”, „png” (domyślnie), „svg” i „tiff”.

overwrite: określa, czy plik docelowy może zostać nadpisany (domyślnie = False).

Przykład:

W języku Basic

      oChart.ExportToFile("C:\Temp\myChart.svg", ImageType := "svg", Overwrite := True)
    
W języku Python

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

Resize

Zmienia położenie wykresu w bieżącym arkuszu oraz modyfikuje jego szerokość i wysokość. Zwraca wartość True, jeśli zmiana rozmiaru zakończyła się pomyślnie.

Składnia:

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

Parametry:

xpos, ypos: określ nowe pozycje X i Y wykresu. W przypadku pominięcia którejkolwiek z tych wartości lub podania wartości ujemnych odpowiednie pozycje pozostają niezmienione.

width: określ nową szerokość wykresu. Jeśli ten argument zostanie pominięty lub zostanie podana wartość ujemna, szerokość wykresu pozostanie niezmieniona.

height: określ nową wysokość wykresu. Jeżeli ten argument zostanie pominięty lub zostanie podana wartość ujemna, wysokość wykresu pozostanie niezmieniona.

note

Wszystkie argumenty podawane są jako wartości całkowite odpowiadające 1/100 milimetra.


Przykład:

W języku Basic

      ' Zmienia tylko położenie X i Y
      oChart.Rezise(1000, 3000)
      ' Zmienia tylko szerokość i wysokość wykresu
      oChart.Resize(, , 25000, 12500)
      ' Obsługiwane są argumenty słów kluczowych
      oChart.Resize(Width := 25000, Height := 12500)
    
W języku Python

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

Wszystkie podstawowe procedury lub identyfikatory ScriptForge poprzedzone znakiem podkreślenia „_” są zarezerwowane do użytku wewnętrznego. Nie należy ich używać w makrach Basic ani skryptach Pythona.


Prosimy o wsparcie!