python - Matplotlib 不可见注释

标签 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,它就会起作用。

最佳答案

enter image description here

matplotlib.__version__ 1.3.x 上没有对我进行重现,所有注释都显示在指定位置。

关于python - Matplotlib 不可见注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15649887/

相关文章:

python - 即使更新后列表中的元素也已过时

python - 尝试在 matplotlib 中绘制蜘蛛网图时出现错误结果

python - 我怎样才能在 matplotlib 中有直线轮廓线?

python - 如何使用 subprocess.call 命令在 Linux 终端中输入指向文件路径的字符串?

python - 如何通过更新 OrderedDict 来保持订单

python - 如何将一列添加到由另一列的前 n 个值的数组组成的 Pandas 数据框中?

python - 我如何使用 scrapy shell 来使用 url 上的参数

python - Seaborn:标注线性回归方程

python - 如何在 Matplotlib 中连接图形坐标?

python - matplotlib:字符串的散点图