【发布时间】:2013-06-21 14:43:12
【问题描述】:
我的代码正在从 arduino 获取串行数据,对其进行处理,然后进行绘图。我使用 matplotlib 作为图形界面。每次它“吸引”时,它都会迫使人们注意它,用户将无法看到除此之外的任何东西。阻止这种情况的最佳方法是什么? (代码工作正常,除了窃取焦点)。在另一篇文章中阅读该方法后,我尝试使用 matplotlib.use('Agg') 方法,但它不起作用。 (使用 MAC OS X)。
下面显示的代码是更新数据的超级简单图表,我遇到了同样的问题。我没有显示我的代码,因为如果没有正确的输入,它就无法复制粘贴 这是我的代码:
import matplotlib
from matplotlib import *
from pylab import *
# import math
x=[]
y=[]
def function(iteration):
xValue=iteration#Assigns current x value
yValue=(1./iteration)*34#Assigns current y value
x.extend([xValue]) #adds the current x value to the x list
y.extend([yValue]) #adds the current y value to the y list
clf() #clears the plot
plot(x,y,color='green') #tells the plot what to do
draw() #forces a draw
def main():
for i in range(1,25): #run my function 25 times (24 I think actually)
function(i)
pause(.1)
main()
【问题讨论】:
-
您能否将其减少到复制问题所需的最低限度?没有多少人会读那么多代码。
-
是的,没问题。所以我已经使用了我的代码,并展示了正在运行的绘图函数的基础知识,以及名为“main”的函数,这是我实际调用运行的函数。它在下面的评论中。 @tcaswell
-
所以我只是编辑了问题中的代码,而不是在这里重新发布。
-
不错的选择:) 可能还是太长了(你真的认为有多个子图会影响焦点抓取吗?)。这段代码可以复制粘贴运行吗?
-
我相信只要运行它的人拥有所有软件包。 (整个代码,不是上面粘贴的部分。)告诉我你认为我应该怎么做才能以良好的格式得到它,我会粘贴它。
标签: macos python-2.7 matplotlib focus graphing