如何在按下按鍵或點選滑鼠後暫停 pylab 影像?(Matplotlib)


要暫停 pylab 影像直到按下按鍵或點選滑鼠,我們可以使用 **"button_press_event"** 鍵事件。

步驟

  • 設定影像大小並調整子圖之間和周圍的填充。
  • 設定 **"TkAgg"** 背景。
  • 開啟互動模式。
  • 建立一個新影像或啟用現有影像。
  • 建立一個變數,**pause=False。**
  • 每當發生 **"button_press_event"** 事件時,暫停影像。
  • 將函式繫結到事件。
  • 使用 numpy 建立 **data**、**x** 和 **y** 資料點。
  • 迭代一個 **True** 迴圈來更改繪圖線和顏色。
  • 要顯示影像,請使用 **show()** 方法。

示例

import matplotlib
from matplotlib import pyplot as plt
import numpy as np

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

matplotlib.use("TkAgg")

plt.ion()

fig = plt.figure()

pause = False

def onclick(event):
   global pause
   pause = not pause

fig.canvas.mpl_connect('button_press_event', onclick)

data = np.linspace(-10, 10, 100)

x = np.sin(data)
y = np.cos(data)

flag = 1

while True:
   if not pause:
      if flag == 1:
         fig.clear()
         plt.plot(data, y, color='red')
         flag = 0
      else:
         fig.clear()
         plt.plot(data, x, color='yellow')
         flag = 1
   fig.canvas.get_tk_widget().update()

輸出

您將看到正弦和餘弦波交替顯示為黃色和紅色,直到您點選滑鼠按鈕。點選任意滑鼠按鈕後,影像將暫停。

更新於:2021年6月18日

777 次瀏覽

啟動您的 職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.