2014-01-06 169 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) 

和註釋將出現在該圖中。