我目前只是在图中添加一些点并为每个特定点添加注释。但是,每次尝试时,我的屏幕上实际上只显示了一部分注释。其他注释通过调试和打印在“那里”,但由于某种原因它们只是不可见。有什么我做错了吗?
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+ 构建的现有框架,因此可能还有一些我不知道的其他隐藏问题。
Edit2:我已经追踪了这个问题。看来,在我的更新函数中,如果我将图形(半径)的 ylim 设置为 1(与所有点相同),那么一些注释就会消失。不知道为什么,但是如果我不理会 ylim 就可以了。