Service SFDocuments.Chart

Le service Chart fournit un ensemble de propriétés et de méthodes pour gérer les diagrammes dans les documents Calc. Avec ce service il est possible de :

Noms des diagrammes

Les diagrammes peuvent avoir deux noms différents :

note

Le service Chart utilise principalement le nom défini par l'utilisateur pour accéder à un objet diagramme. S'il n'existe pas, le nom interne est utilisé.


Invocation du service

Avant d'utiliser le service Chart, la bibliothèque ScriptForge doit être chargée ou importée :

note

• Les macros Basic nécessitent de charger la bibliothèque ScriptForge à l'aide de l'instruction suivante :
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")

• Les scripts Python nécessitent un import depuis le module scriptforge :
from scriptforge import CreateScriptService


Le service Chart est instancié à partir d'une instance de service Calc à l'aide des méthodes Charts ou CreateChart.

En Basic :

L'exemple ci-dessous crée une instance de service Chart à partir d'un diagramme existant dans le document Calc actif :


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

L'exemple suivant instancie le service Chart en créant un nouvel objet diagramme basé sur les données contenues dans la plage "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

Lisez la description de la méthode CreateChart pour en savoir plus sur ses arguments.


En Python

Les exemples ci-dessus peuvent être écrits en Python comme suit :


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

Propriétés

Nom

Lecture seule

Type

Description

ChartType

Non

String

Spécifie le type de diagramme sous forme de chaîne pouvant prendre l'une des valeurs suivantes : "Pie", "Bar", "Donut", "Column", "Area", "Line", "XY", "Bubble", "Net ".

Deep

Non

Boolean

Lorsque True indique que le diagramme est en trois dimensions et que chaque série est disposée dans la direction z.

Lorsque False, les séries sont organisées en considérant seulement deux dimensions.

Dim3D

Non

Boolean or String

Spécifie si le diagramme est affiché avec des éléments 3D. Si la valeur est une chaîne, elle doit être soit "Bar", "Cylinder", "Cone" ou "Pyramid".

Si la valeur booléenne True est spécifiée, le diagramme est affiché à l'aide de barres 3D.

Exploded

Non

Numeric

Spécifie de combien de segments de camembert sont décalés du centre du diagramme en pourcentage du rayon. Applicable aux camemberts et aux diagrammes en anneau uniquement.

Filled

Non

Boolean

Lorsque True, spécifie un diagramme en toile rempli. Applicable aux diagrammes en toile uniquement.

Legend

Non

Boolean

Spécifie si le diagramme a ou non une légende.

Percent

Non

Boolean

Lorsque True, les séries de diagrammes sont empilées et chaque catégorie totalise jusqu'à 100 %. Applicable aux graphiques en aires, à barres, à bulles, à colonnes et en toile.

Stacked

Non

Boolean

Lorsque True, les séries de diagrammes sont empilées. Applicable aux diagrammes en aires, à barres, à bulles, à colonnes et en toile.

Title

Non

String

Spécifie le titre principal du diagramme.

XTitle

Non

String

Spécifie le titre de l'axe X.

YTitle

Non

String

Spécifie le titre de l'axe Y.

XChartObj

Oui

Objet UNO

Renvoie l'objet représentant le diagramme, qui est une instance de la classe ScChartObj .

XDiagram

Oui

Objet UNO

Renvoie l'objet représentant le schéma du diagramme com.sun.star.chart.XDiagram

XShape

Oui

Objet UNO

Renvoie l'objet représentant la forme du diagramme com.sun.star.drawing.XShape.

XTableChart

Oui

Objet UNO

Renvoie l'objet représentant les données affichées dans le diagramme com.sun.star.table.XTableChart.


Création d'un diagramme

Considérez les données suivantes dans la plage "A1:B6" d'une feuille nommée "Report".

A

B

1

Sample A

Sample B

2

36

40

3

39

43

4

45

40

5

52

48


Les exemples ci-dessous en Basic et Python montrent comment créer un diagramme linéaire à partir de ces données avec des légendes.

En Basic :

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

Le diagramme n'a pas besoin d'être créé sur la même feuille que celle où se trouvent les données. Il peut être créé sur n'importe quelle feuille existante dans le fichier actuel en spécifiant le nom de la feuille dans le deuxième argument de la méthode CreateChart.


Méthodes

Liste des méthodes dans le service Chart

ExportToFile

Resize


ExportToFile

Enregistre le diagramme en tant que fichier image dans un emplacement spécifié. Renvoie True si le fichier image a pu être créé avec succès.

Syntaxe :

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

Paramètres :

filename : identifie le chemin et le nom du fichier où l'image sera enregistrée. Il doit suivre la notation définie dans SF_FileSystem.FileNaming.

imagetype : le nom du type d'image à créer. Les valeurs suivantes sont acceptées : "gif", "jpeg", "png" (par défaut), "svg" et "tiff".

overwrite : spécifie si le fichier de destination peut être écrasé (par défaut = False).

Exemple :

En Basic :

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

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

Resize

Modifie la position du diagramme dans la feuille en cours et modifie sa largeur et sa hauteur. Renvoie True si le redimensionnement a réussi.

Syntaxe :

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

Paramètres :

xpos, ypos : spécifier les nouvelles positions X et Y du diagramme. Si l'une de ces valeurs est omise ou si des valeurs négatives sont fournies, les positions correspondantes restent inchangées.

width : spécifier la nouvelle largeur du diagramme. Si cet argument est omis ou si une valeur négative est fournie, la largeur du diagramme reste inchangée.

height : spécifier la nouvelle hauteur du diagramme. Si cet argument est omis ou si une valeur négative est fournie, la hauteur du diagramme reste inchangée.

note

Tous les arguments sont fournis sous forme de valeurs entières qui correspondent à 1/100 de millimètre.


Exemple :

En Basic :

      ' Modifie uniquement les positions X et Y
      oChart.Rezise(1000, 3000)
      ' Modifie uniquement la largeur et la hauteur du diagramme
      oChart.Resize(, , 25000, 12500)
      ' Les arguments de mots clés sont pris en charge
      oChart.Resize(Width := 25000, Height := 12500)
    
En Python

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

Toutes les routines ou identifiants de base ScriptForge qui sont préfixés par un caractère de soulignement "_" sont réservés à un usage interne. Ils ne sont pas destinés à être utilisés dans des macros de base ou des scripts Python.


Aidez-nous !