我有一個python/matplotlib應用程序,它經常用來自測量儀器的新數據更新圖表。當繪圖更新爲新數據時,對於桌面上的其他窗口,繪圖窗口不應從背景變爲前景(反之亦然)。如何在後臺保持matplotlib(python)窗口?
在運行Ubuntu 16.10和matplotlib 1.5.2rc的機器上,它可以像Python 3那樣工作。但是,在使用Ubuntu 17.04和matplotlib 2.0.0的另一臺計算機上,每當使用新數據更新繪圖時,數字窗口都會彈出到前端。
如何在使用新數據更新繪圖時控制窗口前景/背景行爲並保持窗口焦點?
這裏是我的說明繪製程序的代碼示例:
import matplotlib
import matplotlib.pyplot as plt
from time import time
from random import random
print (matplotlib.__version__)
# set up the figure
fig = plt.figure()
plt.xlabel('Time')
plt.ylabel('Value')
plt.ion()
# plot things while new data is generated:
t0 = time()
t = []
y = []
while True:
t.append(time()-t0)
y.append(random())
fig.clear()
plt.plot(t , y)
plt.pause(1)
正如我不能以任何方式進行測試,只是一個建議嘗試什麼:不是'plt.ion()',如果你使用'plt.show(塊= FALSE)',然後會發生什麼你的'while'循環在'plt.plot()'調用之後加上'plt.draw()'? –
@ThomasKühn:謝謝你的建議。但是,這並沒有改變Ubuntu 17.04/matplotlib 2.0.0環境中的任何內容。 – mbrennwa
您使用的是什麼[後端](http://matplotlib.org/faq/usage_faq.html#what-is-a-backend)?這可能是值得改變的,看看這是否能解決問題。 –