Sur cette page

PolarChartView QML Type

Présente les données sous forme de cartes polaires. Plus d'informations...

Import Statement: import QtCharts 2.11
Inherits:

ChartView

Description détaillée

Les graphiques polaires présentent les données dans un graphique circulaire, où l'emplacement des données est basé sur l'angle et la distance par rapport au centre du graphique, le pôle.

Un graphique polaire est une spécialisation du type ChartView. Il prend en charge les séries de lignes, de splines, d'aires et de nuages de points, ainsi que tous les types d'axes qu'elles prennent en charge. Chaque axe peut être utilisé comme axe radial ou angulaire.

La première et la dernière marque de coche d'un axe angulaire ValueAxis sont situées à un angle de 0/360 degrés.

Si la distance angulaire entre deux points consécutifs d'une série est supérieure à 180 degrés, toute ligne directe reliant les deux points n'a plus de sens et n'est pas tracée. Au lieu de cela, une ligne sera tracée vers et à partir du centre du graphique. Par conséquent, les plages d'axes doivent être choisies en conséquence lors de l'affichage de séries de lignes, de splines ou de surfaces.

Les graphiques polaires dessinent tous les axes de même orientation dans la même position. L'utilisation de plusieurs axes de même orientation peut donc prêter à confusion, à moins que les axes supplémentaires ne soient utilisés que pour personnaliser la grille. Par exemple, vous pouvez afficher une plage en surbrillance avec un axe secondaire ombré CategoryAxis ou fournir des sous-échelles non étiquetées avec un axe secondaire ValueAxis dont les étiquettes sont cachées.

Le code QML suivant montre comment créer un graphique polaire avec une série de splines et de nuages de points et deux axes de valeur :

PolarChartView {
    title: "Two Series, Common Axes"
    anchors.fill: parent
    legend.visible: false
    antialiasing: true

    ValueAxis {
        id: axisAngular
        min: 0
        max: 20
        tickCount: 9
    }

    ValueAxis {
        id: axisRadial
        min: -0.5
        max: 1.5
    }

    SplineSeries {
        id: series1
        axisAngular: axisAngular
        axisRadial: axisRadial
        pointsVisible: true
    }

    ScatterSeries {
        id: series2
        axisAngular: axisAngular
        axisRadial: axisRadial
        markerSize: 10
    }

    // Add data dynamically to the series
    Component.onCompleted: {
        for (var i = 0; i <= 20; i++) {
            series1.append(i, Math.random());
            series2.append(i, Math.random());
        }
    }
}

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