Все точки имеют одну и ту же букву в вашем коде, потому что x
изменяется только во внутреннем для l oop. Внутренний для l oop не нужен для вашей цели. Попробуйте что-то вроде:
no_points = 4
list_no_points = list(range(65, 65 + no_points))
xs = [1.0, 2.0, 3.0, 4.0]
ys = [1.0, 2.0, 3.0, 4.0]
plt.plot(xs, ys, linestyle = '--', marker = 'o', color = 'r')
for i, xy in enumerate(zip(xs, ys)):
plt.annotate(f' Point ' + chr(list_no_points[i]) + ' (%.3f, %.3f)' % xy, xy=xy, textcoords='data')
plt.show()
Вы можете получить символ ASCII, соответствующий целому числу, используя chr
('A' равно 65)