2016-11-25 4 views
0

Я построил диаграмму рассеяния, показывающую общее количество Facebook Likes против посещаемости в списке спортивных событий. Точки данных помечены знаком «#of нравится, общая посещаемость».Как добавить ярлыки текстовых данных из списка в таблицу matplotlib?

Я хотел бы изменить метки данных, чтобы они отображали вместо ИМЯ каждого события. У меня есть все имена событий, хранящиеся в переменной с именем Themes. Эта переменная была создана путем вытягивания имен событий из столбца в кадре данных pandas. Вот мой код:

from matplotlib import pyplot as plt 

fig = plt.figure() 
ax = fig.add_subplot(111) 

A = Likes 
B = Attendance 

plt.plot(A,B, "o") 
for xy in zip(A, B):  
    ax.annotate('(%s, %s)' % xy, xy=xy, textcoords='data') 

plt.grid() 
plt.show() 

Как я могу изменить часть метки этого кода, чтобы заменить #of любит, общее присутствие с именами каждого события из моей переменной Themes?

+0

Просто замените то, что вы положили на этикетке ??? Что не так с этим? – Julien

+0

Я спрашиваю, как это сделать. Если я просто изменил код в строке 8 следующим образом: ax.annotate ('(Темы)', xy = xy, textcoords = 'data'), метки полностью исчезают. Я пробовал другие комбинации и получал множество ошибок. Ничто из того, что я пробовал, будет принимать имена событий, содержащиеся в «Темы», и добавлять их к отдельным точкам данных. –

+1

Для следующих вопросов. всегда полезно показать, что вы пробовали в своем посте, это показывает ваши усилия + показывает, что вы делаете неправильно. – Julien

ответ

1

Попробуйте это:

plt.plot(Likes, Attendance, "o") 
for (likes, attendance, theme) in zip(Likes, Attendance, Themes):  
    ax.annotate(theme, xy=(likes, attendance), textcoords='data') 
Смежные вопросы