我当前正在用python编写脚本,该脚本用于测试 DNS响应时间。 即时通讯使用matplotlib以图形方式显示数据,但是当图形更新时,点的排列方式不正确,因此我尝试了一切 我只是无法弄清楚我的功能出了什么问题。 即时通讯添加动画功能和图形的图片。 fyi FuncAnimation用生成器函数调用动画,该函数每次迭代都会产生不同的URL(在google和facebook之间),而不是调用一个将新的DNS响应时间带到字典中的函数,该字典为动画函数提供值。
`def animate(url):
# The Y axis will represent the request/response time, while the
plot_dict = master_dict[url]
# x_val is a time string, format is "%H:%M:%S", y_val is a float.
# in the array x_val turnin to numpy.string, y_val to a numpy.float64
x_val = plot_dict[TIME]
y_val = plot_dict[DNS]
point = np.array([[x_val, y_val]])
if 'google' in url:
graph_list[0] = np.append(graph_list[0], point, axis=0)
print graph_list[0].T
x, y = graph_list[0].T
return plt.plot(x, y, color='g')
else:
graph_list[1] = np.append(graph_list[1], point, axis=0)
x, y = graph_list[1].T
print graph_list[1].T
return plt.plot(x, y, color='r')`
graph_list [0]是Google点的2D numpy数组,1是facebook,每当我得到一个新点时,便将其添加到其数组中