Помощ за LibreOffice 25.2
Услугата Chart предоставя набор от свойства и методи за боравене с диаграми в документи на Calc. С тази услуга е възможно:
да се осъществява достъп до обекти диаграми в документи на Calc и да се променят свойствата им;
да се създават и вмъкват нови диаграми в документ на Calc;
да се експортират диаграми като файлове с изображения.
Диаграмите могат да имат две различни имена:
вътрешно име, дадено от LibreOffice веднага след създаването на обекта диаграма (обикновено "Object 1", "Object 2" и т.н.)
дефинирано от потребителя име, което може да бъде зададено чрез щракване с десния бутон върху диаграмата и избиране на в контекстното меню.
Услугата Chart използва за достъп до обектите диаграми предимно зададените от потребителя имена. Ако такова име не съществува, тогава се използва вътрешното.
Преди да използвате услугата Chart, библиотеката ScriptForge трябва да бъде заредена или импортирана:
Екземпляри на услугата Chart се получават от екземпляр на услугата Calc чрез метода Charts или CreateChart.
Примерът по-долу създава екземпляр на услугата 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")
  Прочетете описанието на метода CreateChart, за да научите повече за аргументите му.
Примерите по-горе могат да бъдат написани на 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 показват как да създадете линейна диаграма с легенда от тези данни.
    oDoc = CreateScriptService("Calc")
    oChart = oDoc.CreateChart("Samples", "Report", "Report.A1:B6")
    oChart.ChartType = "Line"
    oChart.Legend = True
    oChart.Resize(1000, 1000, 25000, 15000)
  
    doc = CreateScriptService("Calc")
    chart = doc.CreateChart("Samples", "Report", "Report.A1:B6")
    chart.ChartType = "Line"
    chart.Legend = True
    chart.Resize(1000, 1000, 25000, 15000)
  Не е необходимо диаграмата да бъде в същия лист, в който се намират данните. Тя може да бъде създадена във всеки съществуващ лист на текущия файл, като се зададе името на листа във втория аргумент на метода CreateChart.
| Списък с методи на услугата Chart | |
|---|---|
Записва диаграмата като файл с изображение в зададено местоположение. Връща 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).
      oChart.ExportToFile("C:\Temp\myChart.svg", ImageType := "svg", Overwrite := True)
    
      chart.ExportToFile(r"C:\Temp\myChart.svg", imagetype="svg", overwrite=True)
    Променя позицията на диаграмата в текущия лист, както и ширината и височината ѝ. Връща True, ако преоразмеряването е било успешно.
chart.Resize([xpos: int], [ypos: int], [width: int], [height: int]): bool
xpos, ypos: указват новата позиция на диаграмата по X и Y. Ако някоя от тези стойности е пропусната или ако са подадени отрицателни стойности, съответната позиция остава непроменена.
width: указва новата ширина на диаграмата. Ако този аргумент е пропуснат или е подадена отрицателна стойност, ширината на диаграмата остава непроменена.
height: указва новата височина на диаграмата. Ако този аргумент е пропуснат или е подадена отрицателна стойност, височината на диаграмата остава непроменена.
Всички аргументи се подават като целочислени стойности в стотни от милиметъра.
      ' Променя само позицията по X и Y.
      oChart.Rezise(1000, 3000)
      ' Променя само ширината и височината на диаграмата.
      oChart.Resize(, , 25000, 12500)
      ' Поддържат се аргументи с ключова дума.
      oChart.Resize(Width := 25000, Height := 12500)
    
      chart.Rezise(1000, 3000)
      chart.Resize(-1, -1, 20000, 20000)
      chart.Resize(width=25000, height=12500)