Scatter3DNode QML Type

3D-Streudiagramm-Knoten. Mehr...

Import Statement: import QtGraphs
Inherits:

GraphsNode

Eigenschaften

Signale

Methoden

Detaillierte Beschreibung

Dieser Typ ermöglicht es Entwicklern, einen Punktediagramm-Knoten in 3D mit Qt Quick darzustellen.

Um diesen Typ zu verwenden, müssen Sie das Modul Qt Graphs importieren:

import QtGraphs

Danach können Sie Scatter3DNode in Ihren qml-Dateien verwenden:

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"; }
    }
}

Siehe auch Scatter3DSeries, Spline3DSeries, ScatterDataProxy, Bars3DNode, Surface3DNode, und Qt Graphs C++ Klassen für 3D.

Eigenschaft Dokumentation

aspectRatio : real

Das Verhältnis der Skalierung des Graphen zwischen der längsten Achse auf der horizontalen Ebene und der y-Achse. Die Standardeinstellung ist 2.0.

Hinweis: Hat keine Auswirkung auf Bars3D.

Siehe auch horizontalAspectRatio.


axisX : Value3DAxis

Die aktive x-Achse.

Wenn keine Achse angegeben wird, wird eine temporäre Standardachse ohne Beschriftung und mit einem automatisch angepassten Bereich erstellt. Diese temporäre Achse wird zerstört, wenn eine andere Achse explizit auf dieselbe Ausrichtung gesetzt wird.


axisY : Value3DAxis

Die aktive y-Achse.

Wenn keine Achse angegeben wird, wird eine temporäre Standardachse ohne Beschriftungen und mit einem sich automatisch anpassenden Bereich erstellt. Diese temporäre Achse wird zerstört, wenn eine andere Achse explizit auf dieselbe Ausrichtung gesetzt wird.


axisZ : Value3DAxis

Die aktive z-Achse.

Wenn keine Achse angegeben wird, wird eine temporäre Standardachse ohne Beschriftungen und mit einem sich automatisch anpassenden Bereich erstellt. Diese temporäre Achse wird zerstört, wenn eine andere Achse explizit auf dieselbe Ausrichtung gesetzt wird.


customItemList : list<Custom3DItem>

Die Liste der Custom3DItem Elemente, die dem Diagramm hinzugefügt werden. Das Diagramm übernimmt das Eigentum an den hinzugefügten Elementen.


gridLineType : Graphs3D.GridLineType

Legt fest, ob der Typ der Gitterlinien Graphs3D.GridLineType.Shader oder Graphs3D.GridLineType.Geometry ist.

Dieser Wert wirkt sich auf alle Gitternetzlinien aus.

Siehe auch Graphs3D.GridLineType.


horizontalAspectRatio : real

Das Verhältnis der Skalierung des Diagramms zwischen der x-Achse und der z-Achse. Der Wert 0.0 bedeutet eine automatische Skalierung entsprechend den Achsenbereichen. Der Standardwert ist 0.0.

Hinweis: Hat keine Auswirkung auf Bars3DNode, das die Skalierung auf der horizontalen Ebene über die Eigenschaften barThickness und barSpacing handhabt. Polardiagramme ignorieren diese Eigenschaft ebenfalls.

Siehe auch aspectRatio, polar, Bars3DNode::barThickness, und Bars3DNode::barSpacing.


labelMargin : real

Diese Eigenschaft legt den Rand für die Platzierung der Achsenbeschriftungen fest.

Negative Werte platzieren die Beschriftungen innerhalb des Plot-Bereichs, positive Werte außerhalb des Plot-Bereichs. Die automatische Drehung der Beschriftungen ist deaktiviert, wenn der Wert negativ ist. Standardwert ist 0.1

Siehe auch QAbstract3DAxis::labelAutoAngle.


locale : locale

Legt das Gebietsschema fest, das für die Formatierung verschiedener numerischer Beschriftungen verwendet wird. Standardmäßig wird das Gebietsschema "C" verwendet.

Siehe auch Value3DAxis::labelFormat.


margin : real

Der absolute Wert, der für den Abstand zwischen dem Rand des plottbaren Diagrammbereichs und dem Rand des Diagrammhintergrunds verwendet wird.

Wenn der Wert für den Rand negativ ist, werden die Ränder automatisch bestimmt und können je nach Größe der Elemente in der Reihe und dem Typ des Diagramms variieren. Der Wert wird als Bruchteil des y-Achsenbereichs interpretiert, wenn die Seitenverhältnisse des Diagramms gegenüber den Standardwerten nicht geändert wurden. Der Standardwert ist -1.0.

Hinweis: Wird für ein Streudiagramm ein kleinerer Rand als der automatisch ermittelte Rand eingestellt, kann dies dazu führen, dass sich die Streuelemente an den Rändern des Diagramms mit dem Diagrammhintergrund überlappen.

Hinweis: Bei Streu- und Oberflächendiagrammen werden die Positionen der Achsenkantenbeschriftungen angepasst, um eine Überlappung mit den Achsenkantenbeschriftungen der benachbarten Achsen zu vermeiden, wenn der Rand im Vergleich zur Achsenbeschriftungsgröße klein ist.


optimizationHint : Graphs3D.OptimizationHint

Gibt an, ob der Standard- oder Legacy-Modus für die Rendering-Optimierung verwendet wird.

Der Standardmodus verwendet instanziertes Rendering und bietet auf den meisten Systemen den vollen Funktionsumfang bei bester Leistung. Der statische Modus optimiert das Rendering von Diagrammen und ist ideal für große, sich nicht verändernde Datensätze. Bei dynamischen Datenänderungen und Elementdrehungen ist er langsamer. Die Auswahl wird nicht optimiert, daher ist die Verwendung des statischen Modus bei großen Datensätzen nicht ratsam. Der Legacy-Modus rendert alle Elemente im Diagramm einzeln, ohne Instanzierung. Er sollte nur verwendet werden, wenn der Standardmodus nicht funktioniert, d. h. wenn das Zielsystem keine Instanzierung unterstützt. Die Voreinstellung ist Default.

Hinweis: In manchen Umgebungen können große Graphen mit statischer Optimierung nicht gerendert werden, da alle Elemente mit einem einzigen Zeichenaufruf gerendert werden und verschiedene Grafiktreiber unterschiedliche maximale Anzahlen von Vertices pro Aufruf unterstützen. Dies ist vor allem ein Problem auf 32bit- und OpenGL ES2-Plattformen. Um dieses Problem zu umgehen, wählen Sie ein Objektmesh mit einer niedrigen Vertexanzahl oder verwenden Sie das Punktmesh.

Siehe auch Abstract3DSeries::mesh und Graphs3D.OptimizationHint.


polar : bool

Wenn Sie true verwenden, werden die horizontalen Achsen in polare Achsen umgewandelt. Die x-Achse wird zur Winkelachse und die z-Achse wird zur Radialachse. Der Polarmodus ist für Balkendiagramme nicht verfügbar.

Die Standardeinstellung ist false.

Siehe auch radialLabelOffset.


queriedGraphPosition : vector3d [read-only]

Diese schreibgeschützte Eigenschaft enthält die letzten Positionswerte des Diagramms entlang jeder Achse, die mit Scene3D::graphPositionQuery abgefragt wurden. Die Werte sind auf den Bereich [-1, 1] normalisiert. Wenn die abgefragte Position außerhalb der Diagrammgrenzen liegt, spiegeln die Werte nicht die tatsächliche Position wider, sondern eine undefinierte Position außerhalb des Bereichs [-1, 1]. Der Wert ist so lange undefiniert, bis eine Abfrage durchgeführt wird.

Es gibt keine einzige korrekte 3D-Koordinate, die einer bestimmten Bildschirmposition entspricht. Um konsistent zu sein, werden die Abfragen daher immer an den Innenseiten eines unsichtbaren Rahmens durchgeführt, der das Diagramm umgibt.

Hinweis: Bei Balkendiagrammen ist die Abfrage der Diagrammposition nur auf der Ebene des Diagrammbodens möglich, so dass der y-Wert bei Balkendiagrammen immer Null ist und gültige Abfragen nur an Bildschirmpositionen erfolgen können, die den Boden des Diagramms enthalten.

Siehe auch Scene3D::graphPositionQuery.


radialLabelOffset : real

Diese Eigenschaft gibt den normierten horizontalen Versatz für die Achsenbeschriftungen der radialen Polarachse an. Der Wert 0.0 gibt an, dass die Beschriftungen neben der 0-Winkel-Winkelachsen-Gitterlinie gezeichnet werden sollen. Der Wert 1.0 gibt an, dass die Beschriftungen an ihrem üblichen Platz am Rand des Diagrammhintergrunds gezeichnet werden. Diese Eigenschaft wird ignoriert, wenn der Wert der Polareigenschaft false lautet. Der Standardwert ist 1.0.

Siehe auch polar.


selectedElement : Graphs3D.ElementType [read-only]

Das im Diagramm ausgewählte Element.

Diese Eigenschaft kann zur Abfrage des ausgewählten Elementtyps verwendet werden. Der Typ ist so lange gültig, bis eine neue Auswahl im Graphen getroffen und das Signal selectedElementChanged ausgegeben wird.

Das Signal kann z. B. zur Implementierung einer benutzerdefinierten Eingabebehandlung verwendet werden, wie das Beispiel Achsenbehandlung zeigt.

Siehe auch selectedLabelIndex(), selectedAxis(), selectedCustomItemIndex(), selectedCustomItem(), Bars3DNode::selectedSeries, Scatter3DNode::selectedSeries, Scene3D::selectionQueryPosition, und Graphs3D.ElementType.


selectedSeries : Scatter3DSeries [read-only]

Die ausgewählte Reihe oder Null.


selectionMode : Graphs3D.SelectionMode

Der aktive Auswahlmodus im Diagramm. Einer der graphs3d.selectionflag enum-Werte.


seriesList : list<Scatter3DSeries> [default]

Diese Eigenschaft enthält die Serien des Diagramms. Standardmäßig enthält diese Eigenschaft eine leere Liste. Um die Serien festzulegen, verwenden Sie entweder die Methode addSeries() oder definieren Sie sie als Kinder des Diagramms.


theme : GraphsTheme

Das aktive Thema des Diagramms.

Siehe auch GraphsTheme.


Signal Dokumentation

axisXChanged(ValueAxis3D axis)

Dieses Signal wird ausgegeben, wenn axisX zu axis wechselt.

Hinweis: Der entsprechende Handler ist onAxisXChanged.


axisYChanged(ValueAxis3D axis)

Dieses Signal wird ausgegeben, wenn axisY zu axis wechselt.

Hinweis: Der entsprechende Handler ist onAxisYChanged.


axisZChanged(ValueAxis3D axis)

Dieses Signal wird ausgegeben, wenn axisZ zu axis wechselt.

Hinweis: Der entsprechende Handler ist onAxisZChanged.


selectedSeriesChanged(Scatter3DSeries series)

Dieses Signal wird ausgegeben, wenn selectedSeries zu series wechselt.

Hinweis: Der entsprechende Handler ist onSelectedSeriesChanged.


Methode Dokumentation

qsizetype addCustomItem(Custom3DItem item)

Fügt ein Custom3DItem item zum Graph hinzu. Graph übernimmt das Eigentum an dem hinzugefügten Element.

Gibt den Index des hinzugefügten Elements zurück, wenn add erfolgreich war, -1, wenn versucht wurde, ein Nullelement hinzuzufügen, und den Index des Elements, wenn versucht wurde, ein bereits hinzugefügtes Element hinzuzufügen.

Siehe auch removeCustomItems(), removeCustomItem(), und removeCustomItemAt().


void addSeries(Scatter3DSeries series)

Fügt dem Diagramm die series hinzu. Ein Diagramm kann mehrere Reihen enthalten, hat aber nur einen Satz von Achsen. Wenn die neu hinzugefügte Reihe ein ausgewähltes Element angegeben hat, wird es hervorgehoben und eine vorhandene Auswahl wird gelöscht. Nur eine hinzugefügte Reihe kann eine aktive Auswahl haben.

Siehe auch GraphsNode::hasSeries().


void clearSelection()

Löscht die Auswahl aus allen hinzugefügten Reihen.


void doPicking(QPoint point)

Führt die Auswahl unter Verwendung der Ansichtskoordinaten von point auf den Elementen des Diagramms durch und wählt das erste getroffene Element aus. Die Standard-Eingabebehandlung führt dies beim Empfang des onTapped-Ereignisses durch.

Siehe auch selectedElement.


void doRayPicking(QVector3D origin, QVector3D direction)

Führt das Picking ausgehend von origin und direction auf den Elementen des Diagramms durch und wählt das erste getroffene Element aus.

Siehe auch selectedElement.


bool hasSeries(Abstract3DSeries series)

Gibt zurück, ob series bereits dem Graphen hinzugefügt wurde.


void releaseCustomItem(Custom3DItem item)

Gibt das Eigentum an item zurück und entfernt item aus dem Graphen.

Hinweis: Wenn dasselbe Element wieder zum Diagramm hinzugefügt wird, muss die Texturdatei neu gesetzt werden.

Siehe auch Custom3DItem::textureFile.


void removeCustomItem(Custom3DItem item)

Entfernt das benutzerdefinierte item. Löscht die ihm zugewiesenen Ressourcen.


void removeCustomItemAt(vector3d position)

Entfernt alle benutzerdefinierten Elemente unter position. Löscht die ihnen zugewiesenen Ressourcen.


void removeCustomItems()

Entfernt alle benutzerdefinierten Elemente. Löscht die ihnen zugewiesenen Ressourcen.


void removeSeries(Scatter3DSeries series)

Entfernt die series aus dem Diagramm.

Siehe auch GraphsNode::hasSeries().


Abstract3DAxis selectedAxis()

Kann verwendet werden, um die ausgewählte Achse nach dem Empfang des Signals selectedElementChanged mit einem beliebigen Etikettentyp zu erhalten. Die Auswahl ist bis zum nächsten selectedElementChanged -Signal gültig.

Gibt die ausgewählte Achse oder null zurück.

Siehe auch selectedElement.


Custom3DItem selectedCustomItem()

Kann verwendet werden, um das ausgewählte benutzerdefinierte Element nach dem Empfang des Signals selectedElementChanged mit dem Typ ElementType.CustomItem zu erhalten. Der Besitz des Elements bleibt beim Diagramm. Die Auswahl ist bis zum nächsten selectedElementChanged Signal gültig.

Gibt das ausgewählte benutzerdefinierte Element oder null zurück.

Siehe auch selectedElement.


qsizetype selectedCustomItemIndex()

Kann verwendet werden, um den Index des ausgewählten benutzerdefinierten Elements abzufragen, nachdem das Signal selectedElementChanged mit dem Typ ElementType.CustomItem empfangen wurde. Die Auswahl ist bis zum nächsten selectedElementChanged -Signal gültig.

Gibt den Index des ausgewählten benutzerdefinierten Eintrags oder -1 zurück.

Siehe auch selectedElement.


int selectedLabelIndex()

Kann verwendet werden, um den Index des ausgewählten Etiketts nach dem Empfang des Signals selectedElementChanged mit einem beliebigen Etikettentyp abzufragen. Die Auswahl ist bis zum nächsten selectedElementChanged -Signal gültig.

Gibt den Index des ausgewählten Etiketts oder -1 zurück.

Siehe auch selectedElement.


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