在Matplotlib Python中注释散点图中的每个数据点

时间:2019-05-04 16:01:34

标签: python matplotlib annotations scatter-plot

散点图未在图中的每个数据点旁边显示人员姓名。

我正试图绘制一份薪金和奖金的散点图。唯一缺少的是绘图中每个数据点的每个员工的姓名。

收录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 个答案:

答案 0 :(得分:1)

我认为问题出在您的"salary""bonus"列被解释为字符串这一事实。因此,当您xy + (0.02, 5)时,它认为您正在尝试将字符串(xy)与元组连接。我认为您应该根据情况尝试将这些列强制转换为浮点数或整数。