Sur cette page

CustomSeries QML Type

Le type CustomSeries permet d'afficher des types de graphiques personnalisés. En savoir plus...

Import Statement: import QtGraphs
Since: Qt 6.11
In C++: QCustomSeries

Propriétés

Méthodes

Description détaillée

Utilisez CustomSeries pour créer des graphiques personnalisés. Considérez-le comme un nuage de points qui vous permet d'accéder à des données personnalisées pour chaque élément.

CustomSeries définit un délégué utilisé pour afficher chaque élément ajouté au graphique. Chaque élément comprend des données définies par l'utilisateur et stockées dans une carte de variantes ( QVariantMap). L'index de l'élément dans le graphique est également ajouté automatiquement à la carte de données. Dans le contexte QML, la carte de variantes est définie par un objet JavaScript. La série transmet cette carte à chaque élément créé à partir du délégué. Le délégué détermine comment utiliser les données.

Pour mapper les données aux coordonnées de rendu définies par les axes de l'GraphsView, utilisez les fonctions ` mapX ` et ` mapY `.

Remarque : actuellement , les éléments individuels d’une série personnalisée ne partagent pas d’informations entre eux. Pour cette raison, vous ne pouvez pas implémenter une série de lignes personnalisée.

Diagramme à barres comportant deux barres à remplissage dégradé

Le code suivant implémente le graphique personnalisé illustré. Dans ce cas, les données personnalisées contiennent deux valeurs : « upper » et « lower ». Celles-ci sont ensuite définies dans le délégué afin de déterminer la hauteur et la coordonnée y de l’élément.

import QtQuick
import QtGraphs

Window {
    width: 640
    height: 480
    visible: true

    GraphsView {
        anchors.fill: parent

        axisX: BarCategoryAxis {
            categories: ["ABC", "DEF"]
        }

        axisY: ValueAxis {
            max: 8
            tickInterval: 1
        }

        CustomSeries {
            id: custom

            delegate: Rectangle {
                property var data
                gradient: Gradient {
                    GradientStop { position: 0.0; color: "lightsteelblue" }
                    GradientStop { position: 1.0; color: "blue" }
                }
                border.width: 1
                x: custom.mapX(data.index + 0.5) - width * 0.5
                y: custom.mapY((data.upper + data.lower) * 0.5) - height * 0.5
                width: Math.abs(custom.mapX(1) - custom.mapX(0)) * 0.5
                height: Math.abs(custom.mapY(data.upper) - custom.mapY(data.lower))
            }

            CustomSeriesData {
                data: ({
                    upper: 5,
                    lower: 1
                })
            }

            CustomSeriesData {
                data: ({
                    upper: 6,
                    lower: 4
                })
            }
        }
    }
}

Documentation sur les propriétés

delegate : Component

Le délégué sert à insérer dans le code QML des éléments correspondant aux données personnalisées fournies. Ces données sont définies dans l’ CustomSeries e lui-même et transmises aux éléments délégués via la propriété « data ».

delegate: Rectangle {
        property var data
        Rectangle {
            color: "tan"
            border.color: "black"
            border.width: 4
            y: series.mapY(data.index + 1) - height / 2 + 1
            x: series.mapX(data.median) - width / 2
            height: 32
            width: Math.abs(series.mapX(data.upperQuartile) - series.mapX(data.lowerQuartile))
        }
    }
}

Documentation de la méthode

void append()

Ajoute un élément de données vide à la série.

void append(var data)

Ajoute à la série un élément de données défini par data.

void clear()

Effacer toutes les données.

void insert(int index)

Ajoute un élément de données vide à la série à la position index.

void insert(int index, var data)

Ajoute un élément de données défini par ` data ` à la série à la position ` index`.

real mapX(real x)

Renvoie la coordonnée de l'x e dans l'espace des axes, convertie dans l'espace de rendu.

real mapY(real y)

Renvoie la coordonnée de l'y, exprimée dans l'espace des axes, convertie dans l'espace de rendu.

void remove(int index)

Supprimer un élément de données situé à la position index.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.