Я пытаюсь построить представление по почте (список vbyp), используя matplotlib.plt () и используя список имен для добавления текста в каждой точке.Но функция аннотирования продолжает показывать ошибку:
x, y = xytext
TypeError: 'float' object is not iterable
Чтобы исправить это, я использовал метод range()
, но он не исправляет его.
import matplotlib.pyplot as plt
names = ['S','Deuk','Cip','Pubt','Adoct','Vsa','Rener',
'Gols','OYO','Qum','Sre','Mey','Micft',
'Nia','Tco','Texments','Fidty','Jrgan','Adoch','MyKa','Dw','Ba','HL','Nx','Towerch','Uer']
posts = [6,3,4,4,6,3,3,8,7,2,15,4,5,5,2,2,2,5,3,2,2,3,4,1,1,1]
views =[554,1272,257,197,545,170,162,18465,419,107,931,1140,438,15626,72,104,219,336,217,1527,278,122,252,56,62,62]
vbyp = []
for i in range(len(posts)):
vbyp.append(views[i]/posts[i])
plt.plot(vbyp)
for i in range(len(vbyp)):
plt.annotate(names[i],vbyp[i])
plt.show()
Без аннотации Iполучить изображение вроде: 
Но я хочу что-то вроде этого: 