- Qt 6.7
- Qt Graphs
- Simple Scatter Graph
- Qt Graphs | Commercial or GPLv3

# Simple Scatter Graph

     // Copyright (C) 2023 The Qt Company Ltd.
     // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
     import QtQuick
     import QtGraphs

     Item {
         property int shadowQuality: AbstractGraph3D.ShadowQuality.High
         property int cameraPreset: AbstractGraph3D.CameraPreset.Front
         property alias meshSmooth: scatterSeries.meshSmooth
         property alias theme: scatterGraph.theme

         Scatter3D {
             id: scatterGraph
             anchors.fill: parent

             theme: themeQt
             shadowQuality: parent.shadowQuality
             cameraPreset: parent.cameraPreset

             axisX.segmentCount: 3
             axisX.subSegmentCount: 2
             axisX.labelFormat: "%.2f"
             axisZ.segmentCount: 2
             axisZ.subSegmentCount: 2
             axisZ.labelFormat: "%.2f"
             axisY.segmentCount: 2
             axisY.subSegmentCount: 2
             axisY.labelFormat: "%.2f"

             Scatter3DSeries {
                 id: scatterSeries
                 itemLabelFormat: "Series 1: X:@xLabel Y:@yLabel Z:@zLabel"

                 ItemModelScatterDataProxy {
                     itemModel: seriesData.model
                     xPosRole: "xPos"
                     yPosRole: "yPos"
                     zPosRole: "zPos"
                 }
             }
             Scatter3DSeries {
                 id: scatterSeriesTwo
                 itemLabelFormat: "Series 2: X:@xLabel Y:@yLabel Z:@zLabel"
                 itemSize: 0.05
                 mesh: Abstract3DSeries.Mesh.Cube
                 ItemModelScatterDataProxy {
                     itemModel: seriesData.modelTwo
                     xPosRole: "xPos"
                     yPosRole: "yPos"
                     zPosRole: "zPos"
                 }
             }
             Scatter3DSeries {
                 id: scatterSeriesThree
                 itemLabelFormat: "Series 3: X:@xLabel Y:@yLabel Z:@zLabel"
                 itemSize: 0.1
                 mesh: Abstract3DSeries.Mesh.Minimal

                 ItemModelScatterDataProxy {
                     itemModel: seriesData.modelThree
                     xPosRole: "xPos"
                     yPosRole: "yPos"
                     zPosRole: "zPos"
                 }
             }
         }
     }