CSVデータを使ったグラフ
Qt Graphs でCSVファイルのデータを可視化する方法。
CSV データを使ったグラフの例では、CSV ファイルのデータを 2D バーチャートで表示する方法を示します。このアプリケーションは、サードパーティのCSVパーサーを使用してCSVファイルを読み込みます。データは、QAbstractTableModel を継承するカスタム・モデルに挿入されます。 データがモデルに挿入されると、左端の列には垂直方向のヘッダー・データが含まれ、一番上の行には水平方向のヘッダー・データが含まれます。
選択されたサードパーティ・ライブラリはQt Resource System について何も知らないため、ファイル・パスから CSV ファイルをロードすることはできません。したがって、ライブラリに渡す前にソースの内容をロードする必要があります。この例の CSV ライブラリは、ファイルをファイルパス、std::fstream
、またはstd::stringstream
のいずれかで受け付けます。CSV ファイルは Qt リソース内にあるため、ライブラリはそれをロードする方法を知らず、QFile はstd::fstream
をサポートしていません。残された唯一の選択肢は、std::stringstream
を使用することです。ファイル全体をQFile::readAll() で文字列として読み込み、その文字列をstd::stringstream
で開きます。
アプリケーション・ウィンドウでは、テーブル・ビューがモデルからのデータを表示します。表ビューから、ユーザーはデータのサブセクションを選択することができ、それが棒グラフに表示される。
棒グラフの系列はカテゴリの軸ラベルを変更しないので、系列を更新しても軸ラベルは更新されません。これは、モデルの左端の列からラベル名を抽出することによってJavaScriptで処理されます。抽出されたラベル名は、カテゴリ軸のlabelsプロパティに設定されます。
function extractBarSetGategories(first, count) { var categories = []; const last = first + count; for (var i = first; i < last; ++i) categories.push(tv.model.headerData(i, Qt.Horizontal, Qt.DisplayRole) + " medals"); return categories; }
例の実行
から例を実行するには Qt Creatorから例を実行するには、Welcome モードを開き、Examples から例を選択します。詳細は、Qt Creator: チュートリアル を参照してください:ビルドと実行。
QMLアプリケーションも参照してください 。
© 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.