Sur cette page

Scatter3DNode QML Type

Nœud « graphique de dispersion 3D ». En savoir plus…

Import Statement: import QtGraphs
Inherits:

GraphsNode

Propriétés

Signaux

Méthodes

Description détaillée

Ce type permet aux développeurs d'afficher un nœud de graphique en nuage de points en 3D à l'aide de Qt Quick.

Vous devrez importer le module Qt Graphs pour utiliser ce type :

import QtGraphs

Vous pourrez ensuite utiliser Scatter3DNode dans vos fichiers QML :

import QtQuick
import QtGraphs

View3D {
    width: 640
    height: 480

    Scatter3DNode {
        width: parent.width
        height: parent.height
        Scatter3DSeries {
            ItemModelScatterDataProxy {
                itemModel: dataModel
                // Mapping model roles to scatter series item coordinates.
                xPosRole: "xPos"
                yPosRole: "yPos"
                zPosRole: "zPos"
            }
        }
    }

    ListModel {
        id: dataModel
        ListElement{ xPos: "2.754"; yPos: "1.455"; zPos: "3.362"; }
        ListElement{ xPos: "3.164"; yPos: "2.022"; zPos: "4.348"; }
        ListElement{ xPos: "4.564"; yPos: "1.865"; zPos: "1.346"; }
        ListElement{ xPos: "1.068"; yPos: "1.224"; zPos: "2.983"; }
        ListElement{ xPos: "2.323"; yPos: "2.502"; zPos: "3.133"; }
    }
}

Voir également les classes C++ pour la 3D:Scatter3DSeries, Spline3DSeries, ScatterDataProxy, Bars3DNode, Surface3DNode et Qt Graphs .

Documentation sur les propriétés

aspectRatio : real

Rapport d'échelle du graphique entre l'axe le plus long sur le plan horizontal et l'axe des y. La valeur par défaut est 2.0.

Remarque : n'a aucun effet sur Bars3D.

Voir également horizontalAspectRatio.

axisX : Value3DAxis

L'axe x actif.

Si aucun axe n'est spécifié, un axe temporaire par défaut, sans étiquettes et dont la plage s'ajuste automatiquement, est créé. Cet axe temporaire est supprimé si un autre axe est explicitement défini avec la même orientation.

axisY : Value3DAxis

L'axe y actif.

Si aucun axe n'est spécifié, un axe temporaire par défaut, sans étiquettes et dont la plage s'ajuste automatiquement, est créé. Cet axe temporaire est supprimé si un autre axe est explicitement défini avec la même orientation.

axisZ : Value3DAxis

L'axe Z actif.

Si aucun axe n'est spécifié, un axe temporaire par défaut, sans étiquette et dont la plage s'ajuste automatiquement, est créé. Cet axe temporaire est supprimé si un autre axe est explicitement défini avec la même orientation.

customItemList : list<Custom3DItem>

La liste des éléments « Custom3DItem » ajoutés au graphe. Le graphe prend possession des éléments ajoutés.

gridLineType : Graphs3D.GridLineType

Détermine si le type des lignes de la grille est « Graphs3D.GridLineType.Shader » ou « Graphs3D.GridLineType.Geometry ».

Cette valeur s'applique à toutes les lignes de la grille.

Voir également Graphs3D.GridLineType.

horizontalAspectRatio : real

Rapport d'échelle entre l'axe des x et l'axe des z dans le graphique. La valeur « 0.0 » indique une mise à l'échelle automatique en fonction des plages des axes. La valeur par défaut est « 0.0 ».

Remarque : n'a aucun effet sur ` Bars3DNode`, qui gère la mise à l'échelle sur le plan horizontal via les propriétés ` barThickness ` et ` barSpacing `. Les graphiques polaires ignorent également cette propriété.

Voir également aspectRatio, polar, Bars3DNode::barThickness et Bars3DNode::barSpacing.

labelMargin : real

Cette propriété définit la marge pour le positionnement des étiquettes d'axe.

Les valeurs négatives placent les étiquettes à l’intérieur de la zone de tracé, tandis que les valeurs positives les placent à l’extérieur de celle-ci. La rotation automatique des étiquettes est désactivée lorsque la valeur est négative. La valeur par défaut est 0.1

Voir également QAbstract3DAxis::labelAutoAngle.

locale : locale

Définit les paramètres régionaux utilisés pour le formatage de diverses étiquettes numériques. La valeur par défaut est la locale "C".

Voir également Value3DAxis::labelFormat.

margin : real

Valeur absolue définissant l'espace laissé entre le bord de la zone de tracé du graphique et le bord de l'arrière-plan du graphique.

Si la valeur de la marge est négative, les marges sont déterminées automatiquement et peuvent varier en fonction de la taille des éléments de la série et du type de graphique. La valeur est interprétée comme une fraction de l'étendue de l'axe des y si les proportions du graphique n'ont pas été modifiées par rapport aux valeurs par défaut. La valeur par défaut est -1.0.

Remarque : le fait de définir une marge plus petite que celle déterminée automatiquement pour un graphique de nuage de points peut entraîner un chevauchement des éléments situés aux bords du graphique avec l’arrière-plan de celui-ci.

Remarque : sur les graphiques de nuages de points et de surface, si la marge est petite par rapport à la taille des étiquettes d’axe, les positions des étiquettes situées aux bords des axes sont ajustées pour éviter tout chevauchement avec les étiquettes des axes voisins.

optimizationHint : Graphs3D.OptimizationHint

Indique si le mode par défaut ou le mode hérité est utilisé pour l'optimisation du rendu.

Le mode par défaut utilise le rendu instancié et offre l’ensemble complet des fonctionnalités avec les meilleures performances sur la plupart des systèmes. Le mode statique optimise le rendu du graphique et est idéal pour les grands ensembles de données immuables. Il est plus lent en cas de modifications dynamiques des données et de rotations d’éléments. La sélection n’est pas optimisée ; il n’est donc pas recommandé d’utiliser le mode statique avec des ensembles de données volumineux. Le mode hérité effectue le rendu de tous les éléments du graphe individuellement, sans instanciation. Il ne doit être utilisé que si le mode par défaut ne fonctionne pas, c’est-à-dire si le système cible ne prend pas en charge l’instanciation. La valeur par défaut est « Default ».

Remarque : dans certains environnements, les graphes volumineux utilisant l’optimisation statique peuvent ne pas s’afficher, car tous les éléments sont rendus à l’aide d’un seul appel de dessin, et les différents pilotes graphiques prennent en charge un nombre maximal de sommets différent par appel. Ce problème se pose principalement sur les plateformes 32 bits et OpenGL ES2. Pour contourner ce problème, choisissez un maillage d’élément avec un faible nombre de sommets ou utilisez le maillage de points.

Voir également Abstract3DSeries::mesh et Graphs3D.OptimizationHint.

polar : bool

Si true, les axes horizontaux sont remplacés par des axes polaires. L'axe x devient l'axe angulaire et l'axe z devient l'axe radial. Le mode polaire n'est pas disponible pour les graphiques à barres.

La valeur par défaut est « false ».

Voir également radialLabelOffset.

queriedGraphPosition : vector3d [read-only]

Cette propriété en lecture seule contient les dernières valeurs de position du graphique le long de chaque axe, interrogées à l'aide de la méthode Scene3D::graphPositionQuery. Les valeurs sont normalisées pour s'inscrire dans l'intervalle [-1, 1]. Si la position interrogée se trouvait en dehors des limites du graphique, les valeurs ne refléteront pas la position réelle, mais correspondront plutôt à une position indéfinie en dehors de l'intervalle [-1, 1]. La valeur restera indéfinie jusqu'à ce qu'une requête soit effectuée.

Il n’existe pas de coordonnée 3D unique et correcte correspondant à une position particulière à l’écran ; par souci de cohérence, les requêtes sont donc toujours effectuées par rapport aux côtés intérieurs d’un rectangle invisible entourant le graphique.

Remarque : les graphiquesà barres ne permettent d’interroger la position du graphique qu’au niveau de la base du graphique ; ainsi, la valeur y est toujours nulle pour les graphiques à barres et les requêtes valides ne peuvent être effectuées qu’à des positions à l’écran qui contiennent la base du graphique.

Voir également Scene3D::graphPositionQuery.

radialLabelOffset : real

Cette propriété spécifie le décalage horizontal normalisé des étiquettes de l'axe polaire radial. La valeur 0.0 indique que les étiquettes doivent être tracées à côté de la ligne de grille de l'axe angulaire correspondant à l'angle 0. La valeur 1.0 indique que les étiquettes sont tracées à leur emplacement habituel, au bord de l'arrière-plan du graphique. Cette propriété est ignorée si la valeur de la propriété « polar » est false. La valeur par défaut est 1.0.

Voir également polar.

selectedElement : Graphs3D.ElementType [read-only]

L'élément sélectionné dans le graphe.

Cette propriété permet de récupérer le type de l'élément sélectionné. Ce type reste valable jusqu'à ce qu'une nouvelle sélection soit effectuée dans le graphique et que le signal « selectedElementChanged » soit émis.

Ce signal peut être utilisé, par exemple, pour implémenter une gestion personnalisée des entrées, comme le montre l’exemple « Axis Handling ».

Voir également selectedLabelIndex(), selectedAxis(), selectedCustomItemIndex(), selectedCustomItem(), Bars3DNode::selectedSeries, Scatter3DNode::selectedSeries, Scene3D::selectionQueryPosition et Graphs3D.ElementType.

selectedSeries : Scatter3DSeries [read-only]

La série sélectionnée ou null.

selectionMode : Graphs3D.SelectionMode

Mode de sélection actif dans le graphique. L'une des valeurs de l'énumération graphs3d.selectionflag.

seriesList : list<Scatter3DSeries> [default]

Cette propriété contient les séries du graphique. Par défaut, cette propriété contient une liste vide. Pour définir les séries, utilisez la méthode ` addSeries()` ou définissez-les en tant qu'éléments enfants du graphique.

theme : GraphsTheme

Thème actif du graphique.

Voir également GraphsTheme.

Documentation Signal

axisXChanged(ValueAxis3D axis)

Ce signal est émis lorsque axisX devient axis.

Remarque : le gestionnaire correspondant est onAxisXChanged.

axisYChanged(ValueAxis3D axis)

Ce signal est émis lorsque axisY devient axis.

Remarque : le gestionnaire correspondant est onAxisYChanged.

axisZChanged(ValueAxis3D axis)

Ce signal est émis lorsque axisZ devient axis.

Remarque : le gestionnaire correspondant est onAxisZChanged.

selectedSeriesChanged(Scatter3DSeries series)

Ce signal est émis lorsque selectedSeries devient series.

Remarque : le gestionnaire correspondant est onSelectedSeriesChanged.

Documentation de la méthode

qsizetype addCustomItem(Custom3DItem item)

Ajoute un objet de type « Custom3DItem » item au graphe. Le graphe prend en charge l'élément ajouté.

Renvoie l’index de l’élément ajouté si l’ajout a réussi, -1 si l’on tente d’ajouter un élément nul, et l’index de l’élément si l’on tente d’ajouter un élément déjà présent.

Voir également removeCustomItems(), removeCustomItem() et removeCustomItemAt().

void addSeries(Scatter3DSeries series)

Ajoute la série « series » au graphique. Un graphique peut contenir plusieurs séries, mais ne dispose que d'un seul jeu d'axes. Si la série nouvellement ajoutée comporte un élément sélectionné, celui-ci sera mis en surbrillance et toute sélection existante sera désélectionnée. Une seule série ajoutée peut avoir une sélection active.

Voir également GraphsNode::hasSeries().

void clearSelection()

Efface la sélection de toutes les séries associées.

void doPicking(QPoint point)

Effectue une sélection à l'aide des coordonnées de la vue issues de point sur les éléments du graphique, en choisissant le premier élément touché. La gestion par défaut des entrées effectue cette opération à la réception de l'événement onTapped.

Voir également selectedElement.

void doRayPicking(QVector3D origin, QVector3D direction)

Effectue une sélection en partant de origin et en direction sur les éléments du graphe, en choisissant le premier élément trouvé.

Voir également selectedElement.

bool hasSeries(Abstract3DSeries series)

Indique si l'series e a déjà été ajouté au graphe.

void releaseCustomItem(Custom3DItem item)

Récupère la propriété de l'objet « item » et supprime l'objet « item » du graphe.

Remarque : si le même élément est rajouté au graphique, le fichier de texture doit être redéfini.

Voir aussi Custom3DItem::textureFile.

void removeCustomItem(Custom3DItem item)

Supprime l'item e personnalisée. Supprime les ressources qui lui sont allouées.

void removeCustomItemAt(vector3d position)

Supprime tous les éléments personnalisés disponibles à l'adresse position. Supprime les ressources qui leur sont allouées.

void removeCustomItems()

Supprime tous les éléments personnalisés. Supprime les ressources qui leur sont allouées.

void removeSeries(Scatter3DSeries series)

Supprimez l'series e du graphique.

Voir aussi GraphsNode::hasSeries().

Abstract3DAxis selectedAxis()

Permet d'obtenir l'axe sélectionné après réception d'un signal « selectedElementChanged » avec n'importe quel type d'étiquette. La sélection reste valide jusqu'au prochain signal « selectedElementChanged ».

Renvoie l'axe sélectionné, ou null.

Voir également selectedElement.

Custom3DItem selectedCustomItem()

Permet d'obtenir l'élément personnalisé sélectionné après réception d'un signal « selectedElementChanged » de type « ElementType.CustomItem ». La propriété de l'élément reste celle du graphe. La sélection reste valable jusqu'au prochain signal « selectedElementChanged ».

Renvoie l’élément personnalisé sélectionné, ou null.

Voir également selectedElement.

qsizetype selectedCustomItemIndex()

Permet d'interroger l'index de l'élément personnalisé sélectionné après réception d'un signal « selectedElementChanged » de type « ElementType.CustomItem ». La sélection reste valide jusqu'au prochain signal « selectedElementChanged ».

Renvoie l’index de l’élément personnalisé sélectionné, ou -1.

Voir également selectedElement.

int selectedLabelIndex()

Permet d'interroger l'index de l'étiquette sélectionnée après réception d'un signal « selectedElementChanged », quel que soit le type d'étiquette. La sélection reste valide jusqu'au prochain signal « selectedElementChanged ».

Renvoie l'index de l'étiquette sélectionnée, ou -1.

Voir également selectedElement.

© 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.