python / pyqt中的交互式实时绘图

时间:2013-04-04 20:24:50

标签: python qt real-time

我正在尝试实现一个以实时方式绘制数据的应用程序。我已经尝试了一些我在this question中找到的代码,但它不起作用。该图在for循环之前绘制了一个结果,在for循环完成时绘制了一个结果

这是在Python解释器的Ubuntu中运行的。

我所指的代码:

import numpy as np
import matplotlib.pyplot as plt

plt.ion()
mu, sigma = 100, 15
fig = plt.figure()
x = mu + sigma*np.random.randn(10000)
n, bins, patches = plt.hist(x, 50, normed=1, facecolor='green', alpha=0.75)
for i in range(50):
    x = mu + sigma*np.random.randn(10000)
    n, bins = np.histogram(x, bins, normed=True)
    for rect,h in zip(patches,n):
        rect.set_height(h)
    fig.canvas.draw()

1 个答案:

答案 0 :(得分:0)

问题出现是因为后端。我有Qt4Agg并将其更改为TkAgg之后就有效了......不知道为什么Qt4Agg不值得...

更改后端我必须编辑/ etc / matplotlibrc文件

编辑:

找到有关Qt4Agg的信息,而不是调用draw(),只要调用pause(0.001),就应暂停该信息,此处暂停1ms。

关于此

的信息

https://github.com/matplotlib/matplotlib/issues/177