Matplotlib立即绘制到函数内的绘图

时间:2015-08-27 18:44:36

标签: python matplotlib

有没有办法绘制函数中的绘图,然后在函数执行完成之前将更改显示在绘图上?

例如,在这个函数中,我想得到文本的窗口范围,但是函数给出了错误Cannot get window extent w/o renderer ,因为在调用s.get_window_extent()时,文本尚未被绘制情节。

import matplotlib.pyplot as plt
import time
plt.ion()
myfig, myax = plt.subplots()


def plot_now():
    s = myax.annotate("foo", [0.5, 0.5])
    myfig.canvas.draw_idle()
    s.get_window_extent()

plot_now()

我使用的是iPython,python 2.7.6,matplotlib 1.4.3和Qt4Agg后端

2 个答案:

答案 0 :(得分:1)

在睡眠前添加plt.draw()

答案 1 :(得分:1)

尝试使用plt.pause(60)代替time.sleep(60)。有人回答this questiontime.sleep与Qt4Agg无关。