2013-03-27 84 views
2

我目前只是在圖中添加一些點併爲每個特定點添加註釋。但是,每次嘗試時,只有一部分註釋實際顯示在我的屏幕上。其他註釋是通過調試和打印「在那裏」,但由於某些原因它們不可見。有什麼我做錯了嗎?Matplotlib隱形註釋

import matplotlib.pyplot as plt 

self.fig = plt.figure() 
self.ax = self.fig.add_subplot(111, projection='polar') 

li = [[0.2, 1], [0.4, 1], [0.6, 1], [0.8, 1], [1, 1]] 

for x,y in li: 
    point, = self.ax.plot(x, y, marker='o', color='r', markersize=12) 
    annotation = self.ax.annotate("Comment goes here", 
     xy=(x,y), xycoords='data', 
     xytext=(x,y), textcoords='data' 
) 

self.fig.canvas.draw() 

一些調試後,似乎卸下projection='polar'修復這個問題,所有的註釋顯示出來。是否有特定的極座標圖,會導致錯誤的註釋?

編輯:其實,我可能已經簡化了這個問題..我嘗試了簡化版本的程序,它的工作。我正在構建一個基於matplotlib和gtk +的現有框架,所以可能還有一些我不知道的其他隱藏問題。

編輯2:我已經查明瞭這個問題。看起來,在我的更新函數中,如果我將圖(半徑)的ylim設置爲1(與所有點相同),則某些註釋消失。不知道爲什麼,但是如果我單獨離開ylim,它會起作用。

回答

2

enter image description here

沒有攝製我在matplotlib.__version__ 1.3.x中,所有的註釋在指定位置顯示出來。

+0

啊我使用的是1.0.1版本,我不知道它是否是舊版本中的錯誤..感謝您的輸入! – Jin 2013-03-27 02:06:33

+0

其實,有趣的是,我可能已經在原始帖子中過度簡化了該問題..我嘗試了該程序的簡化版本,並且它仍然有效。我正在構建一個基於matplotlib的現有框架,所以可能還有一些其他隱藏的問題,我不知道。 – Jin 2013-03-27 02:17:18