Περιεχόμενα
Δείκτης 🔎︎

# SFDocuments. Υπηρεσία Chart

Η υπηρεσία Chart παρέχει ένα σύνολο ιδιοτήτων και μεθόδων χειρισμού γραφημάτων σε έγγραφα Calc. Με αυτήν την υπηρεσία είναι δυνατό να:

- Να προσπελάσετε σε αντικείμενα γραφήματος σε έγγραφα Calc και να χειριστείτε τις ιδιοτήτες τους.

- Να δημιουργήσετε και να εισαγάγετε νέα γραφήματα σε ένα έγγραφο Calc.

- Να εξάγετε γραφημάτα ως αρχεία εικόνας.

## Ονόματα γραφημάτων

Τα γραφήματα μπορεί να έχουν δύο διαφορετικά ονόματα:

- Ένα εσωτερικό όνομα που δίνεται από το LibreOffice αμέσως μόλις δημιουργηθεί το αντικείμενο του γραφήματος (συνήθως "Object 1", "Object 2" και ούτω καθεξής).

- Ένα όνομα από τον χρήστη, το οποίο μπορεί να οριστεί δεξιοπατώντας το γράφημα και επιλέγοντας Όνομα στο μενού περιβάλλοντος.

Η υπηρεσία Chart χρησιμοποιεί κυρίως το όνομα από το χρήστη για να αποκτήσει πρόσβαση σε ένα αντικείμενο γραφήματος. Εάν δεν υπάρχει, τότε χρησιμοποιείται το εσωτερικό όνομα.

## Κλήση υπηρεσίας

Πριν τη χρήση της υπηρεσίας Chart, πρέπει να φορτωθεί ή να εισαχθεί η βιβλιοθήκη ScriptForge:

• Οι μακροεντολές Basic απαιτούν τη φόρτωση της βιβλιοθήκης ScriptForge χρησιμοποιώντας την ακόλουθη πρόταση:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
• Τα σενάρια Python απαιτούν εισαγωγή από την ενότητα scriptforge:
από το 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")

Διαβάστε την περιγραφή της μεθόδου 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, τότε το γράφημα εμφανίζεται χρησιμοποιώντας 3Δ γραμμές.
Exploded | Όχι | Numeric | Καθορίζει πόσα τμήματα πίτας μετατοπίζονται από το κέντρο του γραφήματος ως ποσοστό της ακτίνας. Ισχύει μόνο για πίτα και δακτύλιο.
Filled | Όχι | Boolean | Όταν είναι True, καθορίζει ένα γεμάτο αραχνοειδές γράφημα. Ισχύει μόνο για αραχνοειδή γραφήματα.
Legend | Όχι | Boolean | Καθορίζει εάν το γράφημα έχει υπόμνημα ή όχι.
Percent | Όχι | Boolean | Όταν είναι True, οι σειρές γραφημάτων στοιβάζονται και κάθε κατηγορία αθροίζεται έως και 100%. Ισχύει για γραφήματα περιοχών, ράβδων, φυσαλίδων, στηλών και αραχνοειδές.
Stacked | Όχι | Boolean | Όταν είναι True, οι σειρές γραφημάτων στοιβάζονται. Ισχύει για γραφήματα περιοχής, ράβδων, φυσαλίδων, στηλών και αραχνοειδή.
Title | Όχι | String | Καθορίζει τον κύριο τίτλο του γραφήματος.
XTitle | Όχι | String | Καθορίζει τον τίτλο του άξονα Χ.
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)

Το γράφημα δεν χρειάζεται να δημιουργηθεί στο ίδιο φύλλο όπου βρίσκονται τα δεδομένα. Μπορεί να δημιουργηθεί σε οποιοδήποτε υπάρχον φύλλο στο τρέχον αρχείο, καθορίζοντας το όνομα του φύλλου στο δεύτερο όρισμα της μεθόδου CreateChart.

## Μέθοδοι

Κατάλογος μεθόδων στην υπηρεσία γραφήματος
ExportToFile | Resize

## ExportToFile

Αποθηκεύει το γράφημα ως αρχείο εικόνας σε μια καθορισμένη θέση. Επιστρέφει True εάν το αρχείο εικόνας μπόρεσε να δημιουργηθεί με επιτυχία.

### Σύνταξη:

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

### Παράμετροι:

filename (όνομα αρχείου): Προσδιορίζει τη διαδρομή και το όνομα αρχείου όπου θα αποθηκευτεί η εικόνα. Πρέπει να ακολουθεί τη σημειογραφία που ορίζεται στο SF_FileSystem.FileNaming.

imagetype (τύπος εικόνας): Το όνομα του τύπου εικόνας που θα δημιουργηθεί. Γίνονται αποδεκτές οι ακόλουθες τιμές: "gif", "jpeg", "png" (προεπιλογή), "svg" και "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: (ύψος) Καθορίστε το νέο ύψος του γραφήματος. Εάν αυτό το όρισμα παραλειφθεί, ή εάν παρέχεται αρνητική τιμή, το ύψος του γραφήματος παραμένει αμετάβλητο.

Όλα τα ορίσματα παρέχονται ως ακέραιες τιμές που αντιστοιχούν στο 1/100 του χιλιοστού.

### Παράδειγμα:

##### Σε 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)

Όλες οι ρουτίνες ή αναγνωριστικά του ScriptForge στη Basic που έχουν το πρόθεμα χαρακτήρα υπογράμμισης "_" δεσμεύονται για εσωτερική χρήση. Δεν προορίζονται να χρησιμοποιηθούν σε μακροεντολές Basic ή σενάρια Python.

Σχετικά θέματα

Υπηρεσία SFDocuments.Calc