時系列データを折れ線グラフに変換する方法

Qtのチャート模块であるQChartを使えば、データをもとに折れ線グラフを作成できます。以下はデータから折れ線グラフを描画する簡単なコード例です。

まず、プロジェクトファイルに Qt Charts モジュールを読み込む必要があります。.pro ファイルに次の行を追加します。

QT += charts

次に、メインウィンドウのヘッダファイルに以下のヘッダファイルを追加します。

#include <QtCharts/QChartView>
#include <QtCharts/QLineSeries>
#include <QtCharts/QValueAxis>

次に、メインウィンドウのソースファイルに、以下のコードを追加します。

// 创建一个 QLineSeries 对象,用于存储折线图的数据
QLineSeries *series = new QLineSeries();

// 添加数据到折线图中
series->append(x1, y1);
series->append(x2, y2);
series->append(x3, y3);

// 创建一个 QChart 对象,并将折线图添加到图表中
QChart *chart = new QChart();
chart->addSeries(series);

// 创建一个 QValueAxis 对象,并设置X轴的范围
QValueAxis *axisX = new QValueAxis();
axisX->setRange(minX, maxX);

// 创建一个 QValueAxis 对象,并设置Y轴的范围
QValueAxis *axisY = new QValueAxis();
axisY->setRange(minY, maxY);

// 将坐标轴添加到图表中
chart->addAxis(axisX, Qt::AlignBottom);
chart->addAxis(axisY, Qt::AlignLeft);

// 将折线图的坐标轴设置为刚创建的坐标轴
series->attachAxis(axisX);
series->attachAxis(axisY);

// 创建一个 QChartView 对象,并设置图表
QChartView *chartView = new QChartView(chart);
// 设置图表视图的大小
chartView->setFixedSize(width, height);

// 将图表视图添加到主窗口中
layout->addWidget(chartView);

上のコードで、x1、y1、x2、y2 といった変数は折れ線グラフ上のデータポイントの座標を表し、minX、maxX、minY、maxY といった変数はX軸とY軸の範囲を表し、width と height はグラフビューのサイズを表します。

最後に、折れ線グラフを Qt アプリケーションで表示するために、chartView をメインウィンドウのレイアウトに追加します。

上記サンプルコードを正しく実行するには、.pro ファイルに次の行を追加する必要があることに注意してください。

QT += charts
bannerAds