Utilisation d'axes multiples

Note : Ceci fait partie de l'exemple de la galerie Charts with Widgets.

Capture d'écran montrant deux graphiques linéaires à 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 sera utilisée comme axe horizontal par les deux séries et ajoutez-la au bas du graphique. L'axe peut être partagé entre plusieurs séries, mais chaque série ne peut avoir qu'un seul axe vertical et 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 et ajoutez-le au graphique. Attachez ensuite 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 la même que celle de la série afin de pouvoir distinguer quel axe est attaché à 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);

De même, préparez une autre série. Cette fois, un type d'axe différent est utilisé. En outre, la couleur des lignes de la grille est également 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.