Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

This article is a Private article. Only a writer and users who know the URL can access it.
Please change open range to public in publish setting if you want to share this article with other users.

pyqtgraphを使ってみる

Posted at

pyqtgraphとは?

pyqtgraphとはPyQtというGUIツールキットで使うグラフ描画ライブラリです。
pyqtgraphはグラフのプロットが高速という点で優れたライブラリです。
Pythonのグラフ描画ライブラリではmatplotlibがよく使われていますが、動作は速くありません。
pyqtgraphの方が高速に処理ができるため、リアルタイムにデータをプロットさせる場合にはpyqtgraphがむいています。
なぜpyqtgraphの処理が高速かというと、pyqtgraphはQt(キュート)をベースにしていることが理由の一つになります。
QtとはC++で開発されたクロスプラットフォームフレームワークのことを言います。クロスプラットフォームとは異なるプラットフォームやデバイス上で動作するソフトウェアを開発するためのフレームワークを言います。
このQtはC++がベースになっているので処理が高速です。
もう一つの理由としては、PyQtGraphは数値計算をNumpyに依存している点です。NumPyは高性能な数値計算ライブラリであり、これを使用することでデータの処理が高速に行えます。

pyqtgraphを使う環境構築

pyqtgraphは、PyQt上で動作します。まずPyQtをインストールします。

python -m pip install PyQt5

次にpyqtgraphをインストールします。

python -m pip install pyqtgraph

anaconda環境でpyqtgraphを使う場合

現在の仮想環境がbase(root)の場合は元からpyqtが入っているのでインストールする必要はないようです。

AnacondaでSpyderを利用している人は注意点があります。
SpyderがPyQt5を利用していて、PyQt5を更新するとSpyderが起動しなくなる可能性があるとのことです。

現在の仮想環境にpyqtが無い場合は次のようにしてpyqtを入れます。

conda install -c conda-forge pyqt

pyqtgraphをインストール

conda install -c conda-forge pyqtgraph

pyqtgraphのサンプルを起動する

pyqtgraphのサンプルを見てみましょう。

import pyqtgraph.examples
pyqtgraph.examples.run()

実行すると以下のウィンドウが開きます。
このウィンドウではpyqtgraphを使用したサンプルを実際に動作させて見ることができます。

左のリストからサンプルを選択し、左下の「Run Example」ボタンでサンプルを実行できます。

 pyqtgraphのサンプル

以下はサンプルの「Basic Plotting」を実行した画面になります。↓

Basic Plotting

まとめ

今回はpyqtgraphのサンプルを使ってみるという記事でした。サンプルを動かしてみると面白いものがいろいろあったので是非試してみると良いと思います。

参考文献

0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?