有没有办法绘制函数中的绘图,然后在函数执行完成之前将更改显示在绘图上?
例如,在这个函数中,我想得到文本的窗口范围,但是函数给出了错误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后端
答案 0 :(得分:1)
在睡眠前添加plt.draw()
。
答案 1 :(得分:1)
尝试使用plt.pause(60)
代替time.sleep(60)
。有人回答this question说time.sleep
与Qt4Agg无关。