簡體   English   中英

matplotlib中的交互模式

[英]Interactive mode in matplotlib

我想根據從套接字連接收到的y軸數據動態更新散點圖。 我在交互模式下使用python matplot lib來執行此操作,但在動態更新期間,如果我將窗口移動到其他位置或最小化窗口,則繪圖更新會突然停止。 這個怎么做?

我附上了此處使用的示例動態更新代碼,此處也出現了同樣的問題。

import matplotlib.pyplot as plt
import random
import time
items = [25.5,26.7,23.4,22.5,20,13.4,15.6,-12,-16,20]
x = [1,2,3,4,5,6,7,8,9,10]

plt.ion() #  Interactive on

for i in range(1,100):
    plt.title('graph plotting')
    plt.ylabel('temperature') 
    plt.xlabel('time')
    random.shuffle(items)
    plt.plot(x,items,'ob-')
    plt.axis([0, 10, -40, 40])
    plt.draw()
    #time.sleep(2)
    plt.clf()
    plt.close()

該頁面包含幾個帶有matplotlib和wxPython的動態圖的示例。 是PyQt的一個版本。

為此,您需要有一個用於事件處理的主循環,以及您自己的事件處理程序,以便在調整窗口大小或刷新窗口時重繪繪圖。

您可以在網上或教程中找到很多這方面的示例。

我認為這最好通過使用UI工具包(例如wxPython )來處理,而不是使用matplotlib交互模式。 我過去也有過類似的問題並得到了一些好的答案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM