Utilisation de plusieurs axes

Remarque : ceci fait partie de l'exemple « Galerie de graphiques avec widgets ».

Capture d'écran montrant deux graphiques linéaires comportant trois axes

Créez l'instance QChart, masquez la légende du graphique et définissez son titre.

auto chart = new QChart;
chart->legend()->hide();
chart->setTitle("Multiple Vertical Axes in Chart");

Créez une instance QValueAxis qui servira d'axe horizontal aux deux séries, puis ajoutez-la au bas du graphique. L'axe peut être partagé entre plusieurs séries, mais chaque série ne peut disposer que d'un seul axe vertical et d'un seul axe horizontal.

auto axisX = new QValueAxis;
axisX->setTickCount(10);
chart->addAxis(axisX, Qt::AlignBottom);

Créez la première série et ajoutez-y les données. Enfin, ajoutez la série au graphique. Instanciez son propre axe Y, puis ajoutez-le au graphique. Attachez ensuite à la fois l’axe X commun et l’axe Y spécifique à la série. Dans cet exemple, la couleur de la ligne de l’axe est définie pour être identique à celle de la série afin de permettre de distinguer quel axe est associé à quelle série.

auto series = new QSplineSeries;
*series << QPointF(1, 5) << QPointF(3.5, 18) << QPointF(4.8, 7.5) << QPointF(10, 2.5);
chart->addSeries(series);

auto axisY = new QValueAxis;
axisY->setLinePenColor(series->pen().color());

chart->addAxis(axisY, Qt::AlignLeft);
series->attachAxis(axisX);
series->attachAxis(axisY);

Préparez de la même manière une autre série. Cette fois-ci, un type d’axe différent est utilisé. De plus, la couleur des lignes de la grille est également définie pour être identique à celle de la série.

series = new QSplineSeries;
*series << QPointF(1, 0.5) << QPointF(1.5, 4.5) << QPointF(2.4, 2.5) << QPointF(4.3, 12.5)
        << QPointF(5.2, 3.5) << QPointF(7.4, 16.5) << QPointF(8.3, 7.5) << QPointF(10, 17);
chart->addSeries(series);

auto axisY3 = new QCategoryAxis;
axisY3->append("Low", 5);
axisY3->append("Medium", 12);
axisY3->append("High", 17);
axisY3->setLinePenColor(series->pen().color());
axisY3->setGridLinePen((series->pen()));

chart->addAxis(axisY3, Qt::AlignRight);
series->attachAxis(axisX);
series->attachAxis(axisY3);

Créez un objet `QChartView` avec `QChart` comme paramètre.

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.