Création de diagrammes à barres horizontales en pourcentage
Remarque : cet exemple fait partie de l'exemple de la galerie Charts with Widgets.
Le diagramme à barres horizontales présente les données d'un ensemble sous la forme d'un pourcentage de tous les ensembles par catégorie.
La création d'un diagramme à barres horizontales est identique à celle d'un diagramme à barres classique, à ceci près que, pour un diagramme à barres horizontales, nous utilisons l'api QHorizontalPercentBarSeries au lieu de QBarSeries. En outre, dans le diagramme à barres, nous avons utilisé un algorithme de chiffres pour améliorer la numérotation de l'axe des ordonnées. Avec le diagramme à barres en pourcentage, cela n'est pas nécessaire, car la valeur maximale de l'axe des ordonnées est toujours de 100.

Les barres sont utilisées de la même manière dans tous les diagrammes à barres. Pour illustrer la différence entre les différents diagrammes à barres, nous utilisons les mêmes données dans les exemples. Les données que le diagramme à barres visualise sont définies par les instances QBarSet. Ici, nous créons les ensembles et y ajoutons des données. Les données sont ajoutées ici à l'aide de l'opérateur <<. Il est également possible d'utiliser la méthode append.
auto set0 = new QBarSet("Jane"); auto set1 = new QBarSet("John"); auto set2 = new QBarSet("Axel"); auto set3 = new QBarSet("Mary"); auto set4 = new QBarSet("Samantha"); *set0 << 1 << 2 << 3 << 4 << 5 << 6; *set1 << 5 << 0 << 0 << 4 << 0 << 7; *set2 << 3 << 5 << 8 << 13 << 8 << 5; *set3 << 5 << 6 << 7 << 3 << 4 << 5; *set4 << 9 << 7 << 5 << 3 << 1 << 2;
Nous créons la série et y ajoutons les ensembles de barres. La série est propriétaire des séries de barres. La série regroupe les données des ensembles en catégories. Les premières valeurs de chaque série sont regroupées dans la première catégorie, la deuxième valeur dans la deuxième catégorie, etc.
auto series = new QHorizontalPercentBarSeries; series->append(set0); series->append(set1); series->append(set2); series->append(set3); series->append(set4);
Nous créons ici l'objet graphique et y ajoutons la série. Nous définissons le titre du graphique avec setTitle, puis nous activons les animations de la série en appelant setAnimationOptions(QChart::SeriesAnimations).
auto chart = new QChart; chart->addSeries(series); chart->setTitle("Simple Horizontal Percent Bar Chart"); chart->setAnimationOptions(QChart::SeriesAnimations);
Pour afficher les catégories sur un axe, nous devons d'abord créer un QBarCategoryAxis. Ici, nous créons un axe de catégorie avec une liste de catégories et nous l'ajoutons au graphique sur le côté gauche, en tant qu'axe des ordonnées. Le graphique s'approprie l'axe. Pour l'axe des x, nous utilisons un axe des valeurs, aligné en bas.
QStringList categories {"Jan", "Feb", "Mar", "Apr", "May", "Jun"}; auto axisY = new QBarCategoryAxis; axisY->append(categories); chart->addAxis(axisY, Qt::AlignLeft); series->attachAxis(axisY); auto axisX = new QValueAxis; chart->addAxis(axisX, Qt::AlignBottom); series->attachAxis(axisX);
Nous voulons également afficher la légende. Pour ce faire, nous récupérons le pointeur de légende du graphique et le rendons visible. Nous plaçons également la légende en bas du graphique en réglant son alignement sur Qt::AlignBottom.
chart->legend()->setVisible(true); chart->legend()->setAlignment(Qt::AlignBottom);
Enfin, nous ajoutons le graphique à une vue.
createDefaultChartView(chart);
© 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.