マイナス・バーによる気温記録の表示

注: これはウィジェット付きチャート・ギャラリーの例の一部です。この例では温度データを使用します。

まず、2つのバーセットを作成し、データを追加します。1つは最低気温を表し、もう1つは最高気温を表します。

auto low = new QBarSet("Min");
auto high = new QBarSet("Max");

*low << -52 << -50 << -45.3 << -37.0 << -25.6 << -8.0
     << -6.0 << -11.8 << -19.7 << -32.8 << -43.0 << -48.0;
*high << 11.9 << 12.8 << 18.5 << 26.5 << 32.0 << 34.8
      << 38.2 << 34.8 << 29.8 << 20.4 << 15.1 << 11.8;

系列を作成し、それにバーセットを追加します。系列はバーセットの所有権を持ちます。

auto series = new QStackedBarSeries;
series->append(low);
series->append(high);

ここで、チャート・オブジェクトを作成し、そこに系列を追加します。setTitleでチャートのタイトルを設定し、setAnimationOptions(QChart::SeriesAnimations)でシリーズのアニメーションをオンにします。

auto chart = new QChart;
chart->addSeries(series);
chart->setTitle("Temperature records in Celcius");
chart->setAnimationOptions(QChart::SeriesAnimations);

カテゴリを軸上に表示するには、QBarCategoryAxis を作成する必要があります。ここでは、カテゴリのリストでカテゴリ軸を作成し、それをチャートに追加して、x軸として動作するように下に並べます。チャートは軸の所有権を持ちます。Y軸には、左側に整列した値軸を使用します。Y軸の範囲を変更します。この方が、オートスケーリングよりもよい結果が得られるからです。

QStringList categories = {
    "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
};

auto axisX = new QBarCategoryAxis;
axisX->append(categories);
axisX->setTitleText("Month");
chart->addAxis(axisX, Qt::AlignBottom);
auto axisY = new QValueAxis;
axisY->setRange(-52, 52);
axisY->setTitleText("Temperature [&deg;C]");
chart->addAxis(axisY, Qt::AlignLeft);
series->attachAxis(axisX);
series->attachAxis(axisY);

凡例も表示したい。そのために、チャートから凡例ポインタを取得して、それを可視に設定します。また、アライメントをQt::AlignBottom に設定して、凡例をチャートの一番下に配置します。

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

最後に、チャートをビューに追加します。

createDefaultChartView(chart);

これでチャートを表示する準備ができました。

ここに含まれる文書の著作権はそれぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。