Python で GUI アプリを作成するときに Qt の Python 用バインディングである PySide (Qt for Python) を使用することが多くなりました。散布図などのチャート作成には、もっぱら matplotlib を使っていますが、他の選択肢も検討しようと、QtCharts というチャート作成用ライブラリの使い方をまとめました。
当初、PySide 用の QtCharts のサンプルが見つからず、C++ 用のサンプル [1] を PySide 用に書き直していましたが、よく探してみると PySide 用サンプルもありました [2]。ここでは、勉強がてら C++ 用のサンプルを書き直したものを紹介していきます。
本記事では、下記の OS 環境を使用しています。
|
Fedora 34 Workstation | x86_64 |
| - Python 3.9.6 | ||
| - PySide6 6.1.2 (venv) | ||
| - IDE: PyCharm 2021.1.3 (Community Edition) | ||
LineChart(折れ線グラフ)
LineChart(折れ線グラフ)は、時系列などの連続的変化をとらえるときに使用するグラフです。
qtcharts_linechart.py
実行例を下記に示しました。
qtcharts_linechart.py の実行例
基本的な作成方法は、まず、折れ線グラフのデータ列を扱う QLineSeries クラスのインスタンス series に、(x, y) の座標データを順番に追加します。これを QChart クラスのインスタンス chart に、addSeries メソッドで加えます。軸の定義はデフォルトの設定を適用しています。
series = QLineSeries()
series << QPointF(11, 1) << QPointF(13, 3) << QPointF(17, 6) << QPointF(18, 3) << QPointF(20, 2)
...
...
chart = QChart()
chart.addSeries(series)
chart.createDefaultAxes()
...
参考サイト
にほんブログ村




0 件のコメント:
コメントを投稿