Erstellen von Bereichsdiagrammen

Hinweis: Dies ist Teil des Beispiels "Diagramme mit Widgets ".

Um Flächendiagramme zu erstellen, benötigen wir zwei QLineSeries Instanzen. Sie werden die obere und untere Grenze des Bereichs definieren.

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

Wir fügen Daten zu beiden Reihen 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);

Jetzt erstellen wir eine Instanz von QAreaSeries mit zwei Linienreihenobjekten. Wir legen die benutzerdefinierte Gradientenfü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 Instanz QChartView, legen den Titel und das Anti-Aliasing fest und fügen die Bereichsreihen hinzu. Außerdem erstellen wir die Standardachsen und legen die Bereiche für sie 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 kann nun angezeigt werden.

createDefaultChartView(chart);

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