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) |
PercentBarChart(パーセント棒グラフ)
BarChart(棒グラフ)は、縦軸(あるいは横軸)にデータ量をとり、棒の高さ(長さ)でデータの大小を表現したグラフです。以前紹介した棒グラフのサンプル [3] では、横軸のカテゴリに対して、異なるデータ列 (series) を並べて異なる色の棒であらわし、前回 [4] は、それをひとつの棒に積み上げました。
今回は積み上げてカテゴリ毎に一本の棒であらわし、かつ全体を 100% として全体に対するデータの比率をあらわしたパーセント棒グラフのサンプル (PercentBarChart) を紹介します。
qtcharts_percentbarchart.py
実行例を下記に示しました。
qtcharts_percentbarchart.py の実行例
パーセント棒グラフを作成する場合は、QBarSeries クラスの代わりに QPercentBarSeries クラスのインスタンスをデータ列の定義に使用します。
series = QPercentBarSeries() series.append(set0) series.append(set1) ... ...
参考サイト
- Qt Charts Examples | Qt Charts 6.1.2
- Qt for Python Examples — Qt for Python
- bitWalk's: Qt for Python によるチャート (3) [2021-07-21]
- bitWalk's: Qt for Python によるチャート (10) [2021-07-28]
にほんブログ村
0 件のコメント:
コメントを投稿