Я пытаюсь согласовать аннотацию точек на диаграмме рассеяния 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]))
Вот скриншот вывода (я получил окончательный график рассеяния в виде маленького прямоугольника, расположенного в левом углу большого белого прямоугольника:
![Output](https://i.stack.imgur.com/I2cVI.png)
Я пробовал это также:
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'
Ошибка возникает из-за того, что мой l oop пытается перебрать ax = plt.axis([-2,3,-2.5,5])
, что на самом деле не имеет смысла.
Любое решение, чтобы преодолеть эту проблему?
Спасибо