Matplotlib隐形注释

时间:2013-03-27 00:23:42

标签: python 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 +构建的现有框架,因此可能存在一些我不知道的其他隐藏问题。

Edit2:我已经找到了问题所在。似乎在我的更新函数中,如果我将图形(半径)的ylim设置为1(与所有点相同),则一些注释会消失。不知道为什么,但如果我独自离开ylim就行了。

1 个答案:

答案 0 :(得分:2)

enter image description here

matplotlib.__version__ 1.3.x上没有我的回复,所有注释都显示在指定的位置。