【发布时间】:2020-05-05 09:33:08
【问题描述】:
我正在尝试使用手动限制设置来协调 Matplotlib 散点图中的点注释,但我收到错误消息或遇到设计问题。
这是我的代码:
fig, ax = plt.subplots(figsize = (20,10)) #manual limit setting
plt.axis([-2,3,-2.5,5])
plt.scatter(x, y)
for i, txt in enumerate(n): #dot annotation
ax.annotate(txt, (x[i], y[i]))
这是输出的屏幕截图(我得到了最终的散点图,它是一个位于白色大矩形左角的小矩形:
我也试过这个:
fig, ax = plt.subplots(figsize = (20,10))
ax = plt.axis([-2,3,-2.5,5])
plt.scatter(x, y)
for i, txt in enumerate(n):
ax.annotate(txt, (x[i], y[i]))
当然,我收到了以下错误消息(即使图表正确显示,但每个对应点旁边没有标签)。
AttributeError: 'list' object has no attribute 'annotate'
出现错误是因为我的循环尝试遍历 ax = plt.axis([-2,3,-2.5,5]),这确实没有意义。
有什么办法可以解决这个问题吗?
谢谢
【问题讨论】:
-
您使用的是哪个版本的 matplotlib?这个问题在 matplotlib 3.1.2 中是否仍然出现? (我认为它现在已经修复了,但如果没有,最好知道。)
标签: python matplotlib scatter-plot