棒グラフの作成
注: これはウィジェット・ギャラリーを使ったチャート例の一部です。
barsets
はすべてのバーチャートで同じように使用されます。様々なバーチャートの違いを説明するために、例では同じデータを使用しています。バーチャートが可視化するデータは、QBarSet インスタンスによって定義されます。ここでは、セットを作成し、それにデータを追加する。データは << 演算子で追加される。あるいは、append メソッドを使うこともできる。
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;
シリーズを作成し、そこにバーセットを追加する。シリーズはバーセットの所有権を持ちます。系列は、データをセットからカテゴリにグループ化します。各セットの最初の値は最初のカテゴリーにまとめられ、2番目の値は2番目のカテゴリーにまとめられます。
QBarSeries *series = new QBarSeries; series->append(set0); series->append(set1); series->append(set2); series->append(set3); series->append(set4);
ここでは、チャート・オブジェクトを作成し、そこに系列を追加する。setTitleでチャートのタイトルを設定し、setAnimationOptions(QChart::SeriesAnimations)を呼び出してシリーズのアニメーションをオンにします。
auto chart = new QChart; chart->addSeries(series); chart->setTitle("Simple Bar Chart"); chart->setAnimationOptions(QChart::SeriesAnimations);
軸上にカテゴリを表示するには、QBarCategoryAxis 。ここでは、カテゴリのリストを持つカテゴリ軸を作成し、それをx軸として動作するように下に整列するように設定し、それを系列にアタッチします。チャートが軸の所有権を持ちます。Y軸には、左側に配置された値軸を使用します。
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);
凡例も表示したい。そのために、チャートから凡例ポインタを取得して、それを可視に設定します。また、アライメントをQt::AlignBottom に設定して、凡例をチャートの一番下に配置します。
chart->legend()->setVisible(true); chart->legend()->setAlignment(Qt::AlignBottom);
最後に、チャートをビューに追加します。
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.