Услуга SFDocuments.Chart

Услугата Chart предоставя набор от свойства и методи за боравене с диаграми в документи на Calc. С тази услуга е възможно:

Имена на диаграми

Диаграмите могат да имат две различни имена:

note

Услугата Chart използва за достъп до обектите диаграми предимно зададените от потребителя имена. Ако такова име не съществува, тогава се използва вътрешното.


Извикване на услугата

Преди да използвате услугата Chart, библиотеката ScriptForge трябва да бъде заредена или импортирана:

note

• Макросите на Basic изискват зареждане на библиотеката ScriptForge чрез следния оператор:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")

• Скриптовете на Python изискват импортиране от модула scriptforge:
from scriptforge import CreateScriptService


Екземпляри на услугата Chart се получават от екземпляр на услугата Calc чрез метода Charts или CreateChart.

В Basic

Примерът по-долу създава екземпляр на услугата Chart от съществуваща диаграма в текущия документ на Calc:


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

Следващият пример получава екземпляр на услугата Chart, като създава нов обект диаграма въз основа на данните, съдържащи се в диапазона "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

Прочетете описанието на метода CreateChart, за да научите повече за аргументите му.


В Python

Примерите по-горе могат да бъдат написани на Python, както следва:


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

Свойства

Име

Само за четене

Тип

Описание

ChartType

Не

String

Указва типа на диаграмата като низ, който може да приема една от следните стойности: "Pie" (кръгова), "Bar" (лентова), "Donut" (пръстеновидна), "Column" (колонна), "Area" (площна), "Line" (линейна), "XY" (точкова), "Bubble" (мехурчеста), "Net" (радиална).

Deep

Не

Boolean

Когато е True, показва, че диаграмата е триизмерна и всяка от сериите е подредена в посока z.

Когато е False, сериите се разполагат само в две измерения.

Dim3D

Не

Boolean or String

Указва дали диаграмата се показва с триизмерни елементи. Ако стойността е низ, трябва да бъде "Bar" (блок), "Cylinder" (цилиндър), "Cone" (конус) или "Pyramid" (пирамида).

Ако е зададена булева стойност True, диаграмата се показва с триизмерни блокове.

Exploded

Не

Numeric

Указва колко да бъдат изместени кръговите сегменти от центъра на диаграмата като процент от радиуса. Приложим е само за кръгови и пръстеновидни диаграми.

Filled

Не

Boolean

Когато е True, указва запълнена радиална диаграма. Приложим е само за радиални диаграми.

Legend

Не

Boolean

Указва дали диаграмата да има легенда.

Percent

Не

Boolean

Когато е True, сериите в диаграмата се наслагват и сумата на всяка категория е 100%. Приложим за площни, лентови, мехурчести, колонни и радиални диаграми.

Stacked

Не

Boolean

Когато е True, сериите в диаграмата се наслагват. Приложим за площни, лентови, мехурчести, колонни и радиални диаграми.

Title

Не

String

Указва основното заглавие на диаграмата.

XTitle

Не

String

Указва заглавието на оста X.

YTitle

Не

String

Указва заглавието на оста Y.

XChartObj

Да

UNO обект

Връща обекта, представящ диаграмата, който е екземпляр на класа ScChartObj.

XDiagram

Да

UNO обект

Връща обекта com.sun.star.chart.XDiagram, който представя графиката на диаграмата.

XShape

Да

UNO обект

Връща обекта com.sun.star.drawing.XShape, който представя фòрмата на диаграмата.

XTableChart

Да

UNO обект

Връща обекта com.sun.star.table.XTableChart, който представя данните, показани в диаграмата.


Създаване на диаграма

Да кажем, че следните данни се намират в диапазона "A1:B6" на лист с име "Report".

A

B

1

Sample A

Sample B

2

36

40

3

39

43

4

45

40

5

52

48


Примерите по-долу на Basic и на Python показват как да създадете линейна диаграма с легенда от тези данни.

В Basic

    oDoc = CreateScriptService("Calc")
    oChart = oDoc.CreateChart("Samples", "Report", "Report.A1:B6")
    oChart.ChartType = "Line"
    oChart.Legend = True
    oChart.Resize(1000, 1000, 25000, 15000)
  
В 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

Не е необходимо диаграмата да бъде в същия лист, в който се намират данните. Тя може да бъде създадена във всеки съществуващ лист на текущия файл, като се зададе името на листа във втория аргумент на метода CreateChart.


Методи

Списък с методи на услугата Chart

ExportToFile

Resize


ExportToFile

Записва диаграмата като файл с изображение в зададено местоположение. Връща True, ако файлът с изображението е успешно създаден.

Синтаксис:

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

Параметри:

filename: определя пътя и името на файла, в който да се запише изображението. Трябва да следва нотацията, зададена с SF_FileSystem.FileNaming.

imagetype: името на типа на създаваното изображение. Допускат се следните стойности: "gif", "jpeg", "png" (подразбира се), "svg" and "tiff".

overwrite: указва дали файлът местоназначение може да бъде презаписан (подразбира се False).

Пример:

В Basic

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

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

Resize

Променя позицията на диаграмата в текущия лист, както и ширината и височината ѝ. Връща True, ако преоразмеряването е било успешно.

Синтаксис:

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

Параметри:

xpos, ypos: указват новата позиция на диаграмата по X и Y. Ако някоя от тези стойности е пропусната или ако са подадени отрицателни стойности, съответната позиция остава непроменена.

width: указва новата ширина на диаграмата. Ако този аргумент е пропуснат или е подадена отрицателна стойност, ширината на диаграмата остава непроменена.

height: указва новата височина на диаграмата. Ако този аргумент е пропуснат или е подадена отрицателна стойност, височината на диаграмата остава непроменена.

note

Всички аргументи се подават като целочислени стойности в стотни от милиметъра.


Пример:

В Basic

      ' Променя само позицията по X и Y.
      oChart.Rezise(1000, 3000)
      ' Променя само ширината и височината на диаграмата.
      oChart.Resize(, , 25000, 12500)
      ' Поддържат се аргументи с ключова дума.
      oChart.Resize(Width := 25000, Height := 12500)
    
В Python

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

В ScriptForge всички подпрограми или идентификатори на Basic с префикс „_“ са запазени за вътрешна употреба. Те не са предназначени за използване в макроси на Basic.


Моля, подкрепете ни!