積み上げ棒グラフの作成
注: これは、ウィジェット・ギャラリーによるチャートの例の一部です。
積み重ね棒グラフは、棒グラフを積み重ねたセットでデータを表示します。積み重ねは、カテゴリーごとに行われます。この例では、単純な積み上げ棒グラフの作成方法を示します。積み上げ棒グラフは、セット内のデータを、互いに積み重ねられた棒グラフとして表示します。積み重ねは、カテゴリごとに行われます。積み上げ棒グラフの作成は、通常の棒グラフの作成と同じですが、積み上げ棒グラフではQBarSeries の代わりにQStackedBarSeries API を使用します。
バーセットは、すべてのバーチャートで同じように使用される。様々なバーチャートの違いを説明するために、全ての例で同じデータを使用する。バ ーチャートが可視化するデータは、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番目のカテゴリーに、といった具合にグループ化されます。
auto series = new QStackedBarSeries; 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 Stacked 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; 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.