有没有办法在matplotlib脚本运行时使用平移/缩放工具?

时间:2015-10-20 19:50:41

标签: python matplotlib

我正在运行一个Python脚本,每隔几秒就会在matplotlib中更新一个绘图。计算需要几分钟,我希望能够在更新时以通常的方式平移和缩放绘图。这可能吗?

如果失败,是否可以中断脚本(取消剩下的计算)然后平移/缩放图?

我做了以下例子。该图更新非常好,但您无法使用平移/缩放工具。

import numpy as np
import matplotlib.pyplot as plt
import time

def time_consuming_calculation():
    time.sleep(0.001)
    return np.random.normal()

ax = plt.subplot(111)
plt.ion()
plt.show(block=False)

bins = np.linspace(-4,4,100)
data = []
for i in range(0,10000):
    print 'Iteration % 4i'%i

    data.append(time_consuming_calculation())

    if i%1000==0:
        n,bin_edges = np.histogram(data,bins=bins)
        if i == 0:
            line, = plt.plot(bin_edges[:-1],n)
        else:
            line.set_data(bin_edges[:-1],n)

        ax.relim()   # Would need to disable this if we can use pan/zoom tool
        ax.autoscale()
        plt.draw()

plt.ioff()
plt.show()

enter image description here

0 个答案:

没有答案