如何以互動方式更新 matplotlib 的 imshow() 視窗?


要繪製互動式 matplotlib imshow 視窗,我們可以採取以下步驟 -

  • 使用 subplots() 方法建立圖形和一組子圖。

  • 使用 numpy 建立一個數組來繪製圖像。

  • 使用 imshow() 方法顯示影像。

  • 若要建立滑塊軸,請使用 facecolor=yellow 建立軸和滑塊。

  • 為了在更改滑塊時更新影像,我們可以編寫一個使用者自定義方法,即 update() 。使用 draw_idle() 方法在控制元件返回 GUI 事件迴圈後請求小部件重繪。

  • 使用 show() 方法顯示圖形。

示例

import numpy as np
from matplotlib import pyplot as plt
from matplotlib.widgets import Slider
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
fig, ax = plt.subplots()
image = np.random.rand(3, 3)
img = ax.imshow(image)
axcolor = 'yellow'
ax_slider = plt.axes([0.20, 0.01, 0.65, 0.03], facecolor=axcolor)
slider = Slider(ax_slider, 'Slide->', 0.1, 30.0, valinit=2)
def update(val):
   ax.imshow(np.random.rand(3, 3))
   fig.canvas.draw_idle()
slider.on_changed(update)
plt.show()

輸出

更新於:2021 年 4 月 10 日

4000+ 次瀏覽

啟動你的 職業

完成課程獲得認證

開始
廣告
© . All rights reserved.