在PyQt4 中嵌入Matplotlib:分步指南
將互動式matplotlib 圖形整合到PyQt4 使用者介面中比它更簡單使用者可能會看起來。以下是逐步說明:
導入必要的模組:
首先從 matplotlib.backends 導入相關的 Qt 小部件。 backend_qt4agg:
<code class="python">from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas from matplotlib.backends.backend_qt4agg import NavigationToolbar2QT as NavigationToolbar</code>
建立一個 Matplotlib 圖:
實例化一個 Figure 物件作為圖形的畫布。
<code class="python">self.figure = Figure()</code>
實例化 Canvas 的 Qt Widget:
建立FigureCanvas 的實例,它代表將顯示圖形的 Qt Widget。
<code class="python">self.canvas = FigureCanvas(self.figure)</code>
新增導覽工具列:
NavigationToolbar 小工具提供用於縮放、平移和保存圖窗的控制項。
<code class="python">self.toolbar = NavigationToolbar(self.canvas, self)</code>
建立一個按鈕:
建立一個 PyQt 按鈕,點擊該按鈕時會觸發繪圖函數。
<code class="python">self.button = QtGui.QPushButton('Plot') self.button.clicked.connect(self.plot)</code>
設計佈局:
在 Qt 佈局中排列小部件。
<code class="python">layout = QtGui.QVBoxLayout() layout.addWidget(self.toolbar) layout.addWidget(self.canvas) layout.addWidget(self.button) self.setLayout(layout)</code>
繪圖隨機資料:
定義一個函數來產生隨機資料並繪製在圖形上。
<code class="python">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()</code>
按照以下步驟,您可以嵌入一個PyQt4 使用者介面中的 matplotlib 圖形,讓您可以視覺化資料並透過 Qt 小部件與其互動。
以上是如何將 Matplotlib 圖形無縫整合到您的 PyQt4 應用程式中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!