複数の軸を使用する

注: これは、ウィジェット・ギャラリーによるチャートの例の一部です。

QChart インスタンスを作成し、チャートの凡例を非表示にして、タイトルを設定する。

auto chart = new QChart;
chart->legend()->hide();
chart->setTitle("Multiple Vertical Axes in Chart");

両方の系列で横軸として使用されるQValueAxis インスタンスを作成し、それをチャートの下部に追加します。軸は多くの系列間で共有できるが、各系列は1つの縦軸と横軸しか持てない。

auto axisX = new QValueAxis;
axisX->setTickCount(10);
chart->addAxis(axisX, Qt::AlignBottom);

最初の系列を作成し、それにデータを追加する。最後に、系列をチャートに追加する。独自のY軸をインスタンス化して、それをチャートに追加する。そして、共通のX軸と系列固有のY軸の両方をアタッチする。この例では、どの軸がどの系列に付いているかを区別できるように、軸線の色を系列の色と同じに設定しています。

auto series = new QSplineSeries;
*series << QPointF(1, 5) << QPointF(3.5, 18) << QPointF(4.8, 7.5) << QPointF(10, 2.5);
chart->addSeries(series);

auto axisY = new QValueAxis;
axisY->setLinePenColor(series->pen().color());

chart->addAxis(axisY, Qt::AlignLeft);
series->attachAxis(axisX);
series->attachAxis(axisY);

同様に別の系列を準備する。今度は別の軸タイプを使用する。さらにグリッド線の色もシリーズの色と同じになるように設定する。

series = new QSplineSeries;
*series << QPointF(1, 0.5) << QPointF(1.5, 4.5) << QPointF(2.4, 2.5) << QPointF(4.3, 12.5)
        << QPointF(5.2, 3.5) << QPointF(7.4, 16.5) << QPointF(8.3, 7.5) << QPointF(10, 17);
chart->addSeries(series);

auto axisY3 = new QCategoryAxis;
axisY3->append("Low", 5);
axisY3->append("Medium", 12);
axisY3->append("High", 17);
axisY3->setLinePenColor(series->pen().color());
axisY3->setGridLinePen((series->pen()));

chart->addAxis(axisY3, Qt::AlignRight);
series->attachAxis(axisX);
series->attachAxis(axisY3);

QChart をパラメータとしてQChartView オブジェクトを作成する。

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.