2021-07-29

Qt for Python によるチャート (11)

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)
        ...
        ...

参考サイト

  1. Qt Charts Examples | Qt Charts 6.1.2
  2. Qt for Python Examples — Qt for Python
  3. bitWalk's: Qt for Python によるチャート (3) [2021-07-21]
  4. bitWalk's: Qt for Python によるチャート (10) [2021-07-28]

 

ブログランキング・にほんブログ村へ bitWalk's - にほんブログ村 にほんブログ村 IT技術ブログ Linuxへ
にほんブログ村
このエントリーをはてなブックマークに追加

0 件のコメント: