Аннотирование каждой точки данных в точечной диаграмме в python matplotlib - PullRequest
0 голосов
/ 04 мая 2019

На точечном графике не отображается имя человека рядом с каждой точкой данных на графике.

Я пытаюсь нарисовать точечный график заработной платы и бонусов.Единственное, чего не хватает, - это имя каждого сотрудника в каждой точке данных на графике.

Reeving a TypeError: cannot concatenate 'str' and 'tuple' objects

fig, ax = plt.subplots()
my_scatter_plot = ax.scatter(
df["salary"], 
df["bonus"] 

)
ax.set_xlabel("Salary")
ax.set_ylabel("Bonus")
ax.set_title("Enron Employees Salary and Bonus Scatter Plot")

for _, row in df[["Names","salary","bonus"]].iterrows():
    xy = row[["salary", "bonus"]]
    xytext= xy + (0.02, 5)
    ax.annotate(row["Names"], xy, xytext)


plt.show() 


TypeError: cannot concatenate 'str' and 'tuple' objects

Ожидается увидеть название всех данных, которые соответствуют сотруднику.

1 Ответ

1 голос
/ 04 мая 2019

Я думаю, что проблема в том, что ваши столбцы "salary" и "bonus" интерпретируются как строки. Следовательно, когда вы xy + (0.02, 5), он думает, что вы пытаетесь объединить строку (xy) с кортежем. Я думаю, что вы должны попытаться преобразовать эти столбцы в числа с плавающей точкой или целые числа в зависимости от вашего случая.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...