Balkendiagramme erstellen

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

Vertikales Balkendiagramm, das die monatlichen Werte für fünf Personen von Januar bis Juni gruppiert

Die „ barsets “ werden in allen Balkendiagrammen auf dieselbe Weise verwendet. Um den Unterschied zwischen verschiedenen Balkendiagrammen zu veranschaulichen, verwenden wir in den Beispielen dieselben Daten. Die Daten, die das Balkendiagramm visualisiert, werden durch die `QBarSet`-Instanzen definiert. Hier erstellen wir die Sets und fügen ihnen Daten hinzu. Die Daten werden hier mit dem Operator << angehängt. Alternativ könnte die Methode `append` verwendet werden.

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;

Wir erstellen die Serie und fügen ihr die Barsets hinzu. Die Serie übernimmt die Verwaltung der Barsets. Die Serie gruppiert die Daten aus den Sets in Kategorien. Die ersten Werte jedes Sets werden in der ersten Kategorie zusammengefasst, die zweiten Werte in der zweiten Kategorie und so weiter.

QBarSeries *series = new QBarSeries;
series->append(set0);
series->append(set1);
series->append(set2);
series->append(set3);
series->append(set4);

Hier erstellen wir das Diagrammobjekt und fügen die Serie hinzu. Wir legen den Titel für das Diagramm mit `setTitle` fest und aktivieren anschließend die Animationen der Serie durch den Aufruf von `setAnimationOptions(QChart::SeriesAnimations)`.

auto chart = new QChart;
chart->addSeries(series);
chart->setTitle("Simple Bar Chart");
chart->setAnimationOptions(QChart::SeriesAnimations);

Um Kategorien auf der Achse anzuzeigen, müssen wir dafür eine `QBarCategoryAxis` erstellen. Hier erstellen wir eine Kategorieachse mit einer Liste von Kategorien, richten sie so aus, dass sie am unteren Rand ausgerichtet ist und als x-Achse fungiert, und fügen sie der Reihe hinzu. Das Diagramm übernimmt die Verwaltung der Achse. Für die y-Achse verwenden wir eine Werteachse, die linksbündig ausgerichtet ist.

QStringList categories {"Jan", "Feb", "Mar", "Apr", "May", "Jun"};
auto axisX = new QBarCategoryAxis;
axisX->append(categories);
chart->addAxis(axisX, Qt::AlignBottom);
series->attachAxis(axisX);

auto axisY = new QValueAxis;
axisY->setRange(0,15);
chart->addAxis(axisY, Qt::AlignLeft);
series->attachAxis(axisY);

Außerdem möchten wir die Legende anzeigen. Dazu rufen wir den Legendenzeiger vom Diagramm ab und setzen ihn auf „sichtbar“. Außerdem platzieren wir die Legende am unteren Rand des Diagramms, indem wir ihre Ausrichtung auf „ Qt::AlignBottom “ setzen.

chart->legend()->setVisible(true);
chart->legend()->setAlignment(Qt::AlignBottom);

Abschließend fügen wir das Diagramm zu einer Ansicht hinzu.

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.