2014-01-06 131 views
1

注释“测试”显示如果我运行下面的代码:注释不会出现在matplotlib阴谋

import matplotlib.pyplot as plt 
plt.figure() 
ax = plt.gca() 
ax.annotate("Test", xy=(0.2, 0.2)) 

然而,完全相同的代码不会,如果我叫plt.plot(),而不是plt.figure()显示注释:

import matplotlib.pyplot as plt 
plt.plot() 
ax = plt.gca() 
ax.annotate("Test", xy=(0.2, 0.2)) 

为什么第二个代码块不显示注释?

+0

我在最后调用'plt.show()'时看到两个代码块的注释。你在使用交互式环境吗? – Hooked

+0

'matplotlib.backends.backend'返回''Qt4Agg''。 'matplotlib.is_interactive()'返回'True'。在最后添加'plt.show()'仍然留下注释,因为没有显示给我。 –

+0

我仍然无法在Linux上使用'TkAgg'或'Qt4Agg'版本'1.2.1'来重现问题,但是我使用默认设置获得'matplotlib.is_interactive()== False'。也许这与交互模式有关? – Hooked

回答

4

在第一示例中,主叫figure()xlim套和ylim[0,1]与域内的文本,在[.2,.2]

在第二个示例中,带注释的测试不在xlim和ylim中。它们自动设置为[-.06,.06](至少在我的机器上)。

在第二示例中,简单地调用

ax.set_xlim(-.4,.4) 
ax.set_xlim(-.4,.4) 

和注释将出现在该图中。