なぜPyQtGraphを使うのか
これは何?
データを扱う際にはPythonを使用することが多く、ほとんどのケースでPyQtGraphを用いて可視化を行っています。
matplotlibやPlotlyなど、さまざまなツールがあるのになぜPyQtGraphを使うのか考えてみました。
結論
まずは結論です。
いろいろと考えた結果、トライアンドエラーが必要な用途を効率良く行うためにPyQtGraph使っているとの認識に至りました。
私自身の使い方によるところが大きいのですが、ぐりぐりしたり、時間軸の表示領域を変更したり、いろいろな角度でデータを眺めるための操作が直感的で、動作もキビキビしていて心地よいからというのが最大の理由です。
論文やプリント用のグラフを作成する際は、Matplotlibやgnuplotを使用します。
これらのことは、WebベースのツールやMatplotlibでも可能です。
一方で、オシロスコープのような更新レートのデータもストレスなく表示できるのは、Python界隈においてはPyQtGraphの他にはないと考えています。
60fpsでてます。
PyQtGraphを使うことのメリデメ
メリットとデメリットについて感じていることは、以下のとおりです。
メリット
・画面に表示することで紙と時間が節約できる
・リアルタイム表示にそこそこ耐えられる
・PySideを使用しているため汎用性が高い
デメリット
・学習コストが高め
・グラフを描くまでのオーバーヘッドが高め
学習コストとオーバーヘッドに関しては、こんな感じのツールを作成してモデルの構築に注力できるよう努めています。
x,yグラフ表示用のフレームワーク。
そのうち、様々なグラフスタイルやcsv、jsonのファイルのプロットもできるようにアップデートする予定です。
地図表示用のフレームワーク。
fo(folium object)を読み出して、地図表示を行います。
保存も編集もでき、お気づきのとおりシンタックス・ハイライトだってできています。
考えたこと
誰のためにどのような状況で使用するか、出力する媒体は何か、といった点を以下のように整理しました。
私自身は、自分のためにパソコン上でデータを可視化してあれこれすることが多いので、操作性の良いPyQtGraphに落ち着いているという結論にいたりました。
もう4年くらい使っていますので、学習コストもずいぶんかけており、やりたいことはおおよそ実現できています。
Discussion