ホームページ >バックエンド開発 >Python チュートリアル >Matplotlib プロットを PyQt に埋め込む方法: ステップバイステップ ガイド
PyQt への Matplotlib の埋め込み: 総合ガイド
はじめに
視覚的に魅力的なデータ視覚化の作成ユーザー インターフェイスを構築する場合、これは多くの場合重要です。人気の Python ライブラリである Matplotlib は、さまざまなグラフやチャートを作成するための広範なツール セットを提供します。 Matplotlib と Python 用の強力な Qt バインディングである PyQt を組み合わせると、開発者は PyQt アプリケーション内に対話型プロットをシームレスに埋め込むことができます。
ステップバイステップ ガイド
1.必要なウィジェットをインポートする
PyQt に Matplotlib を埋め込むには、matplotlib.backends および PyQt4 モジュールから関連するクラスをインポートする必要があります。具体的には、プロット キャンバスとして FigureCanvasQTAgg を使用し、グラフの相互作用を制御するために NavigationToolbar2QT を使用します。
2. Figure の作成
まず、プロットのコンテナーとして機能する Figure オブジェクトを作成します。このオブジェクトは、グラフの全体的なレイアウトとプロパティを制御します。
3. Canvas の作成
FigureCanvas ウィジェットは、実際のプロットが行われる場所です。これは、matplotlib Figure と PyQt アプリケーションの間のブリッジとして機能します。
4.ツールバーの作成
NavigationToolbar ウィジェットは、プロットのズーム、パン、保存機能などのナビゲーション コントロールを提供します。
5.ボタンの追加
対話型機能を実証するために、クリックするとプロット機能をトリガーする単純なボタンを追加できます。
6.データのプロット
プロット関数内で、サブプロットを作成し、その上にデータをプロットし、キャンバスを更新して更新されたグラフを表示します。
コード例
<code class="python">import sys from PyQt4 import QtGui from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas from matplotlib.backends.backend_qt4agg import NavigationToolbar2QT as NavigationToolbar from matplotlib.figure import Figure import random class Window(QtGui.QDialog): def __init__(self, parent=None): super(Window, self).__init__(parent) self.figure = Figure() self.canvas = FigureCanvas(self.figure) self.toolbar = NavigationToolbar(self.canvas, self) self.button = QtGui.QPushButton('Plot') self.button.clicked.connect(self.plot) layout = QtGui.QVBoxLayout() layout.addWidget(self.toolbar) layout.addWidget(self.canvas) layout.addWidget(self.button) self.setLayout(layout) def plot(self): data = [random.random() for i in range(10)] ax = self.figure.add_subplot(111) ax.clear() ax.plot(data, '*-') self.canvas.draw() if __name__ == '__main__': app = QtGui.QApplication(sys.argv) main = Window() main.show() sys.exit(app.exec_())</code>
このコードは、matplotlib プロットが埋め込まれたウィンドウと、クリックするとランダム データ プロットをトリガーするボタンを作成する方法を示します。
結論
これらの手順に従うことで、開発者はインタラクティブな matplotlib プロットを PyQt アプリケーションにシームレスに統合し、ユーザーをデータ視覚化に関与させる魅力的なユーザー インターフェイスを作成できます。
以上がMatplotlib プロットを PyQt に埋め込む方法: ステップバイステップ ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。