Flächendiagramme erstellen

Hinweis: Dies ist Teil des Beispiels „Diagramme mit Widgets-Galerie “.

Abbildung eines Diagrammbeispiels

Um Flächendiagramme zu erstellen, benötigen wir zwei QLineSeries-Instanzen. Diese definieren die obere und untere Grenze der Fläche.

auto series0 = new QLineSeries;
auto series1 = new QLineSeries;

Wir fügen beiden Reihen Daten hinzu und verwenden den Stream-Operator.

*series0 << QPointF(1, 5) << QPointF(3, 7) << QPointF(7, 6) << QPointF(9, 7) << QPointF(12, 6)
         << QPointF(16, 7) << QPointF(18, 5);
*series1 << QPointF(1, 3) << QPointF(3, 4) << QPointF(7, 3) << QPointF(8, 2) << QPointF(12, 3)
         << QPointF(16, 4) << QPointF(18, 3);

Nun erstellen wir eine QAreaSeries-Instanz unter Verwendung der beiden Linienreihen-Objekte. Wir legen die benutzerdefinierte Farbverlaufsfüllung und die Breite des Umrisses fest.

auto series = new QAreaSeries(series0, series1);
series->setName("Batman");
QPen pen(0x059605);
pen.setWidth(3);
series->setPen(pen);

QLinearGradient gradient(QPointF(0, 0), QPointF(0, 1));
gradient.setColorAt(0.0, 0x3cc63c);
gradient.setColorAt(1.0, 0x26f626);
gradient.setCoordinateMode(QGradient::ObjectBoundingMode);
series->setBrush(gradient);

Zuletzt erstellen wir die QChartView-Instanz, legen den Titel fest, aktivieren die Kantenglättung und fügen die Flächenserie hinzu. Außerdem erstellen wir die Standardachsen und legen deren Bereiche fest.

auto chart = new QChart;
chart->addSeries(series);
chart->setTitle("Simple Area Chart");
chart->createDefaultAxes();
chart->axes(Qt::Horizontal).first()->setRange(0, 20);
chart->axes(Qt::Vertical).first()->setRange(0, 10);

Das Diagramm ist nun bereit zur Anzeige.

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.