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 !