对坐标的散点图,用 pandas 标签的 DataFrame 索引名称注释

Scatter plot of pair coordinates, annotated with pandas DataFrame index name for labels

对于两列 pandas DataFrame,其行包含一对属于彼此的 x-y 坐标的两个值,如何生成二维图以便为每对坐标指定一个注释文本标签等于该行的 index 名称?

例如,坐标 (0.983801, 0.0155373) 在图中应显示为单个点并用 AXP 注释。与其余行类似,每一行都有唯一的命名

DataFrame 由两个一维 numpy 数组 ab 构成,而标签是两个等长的列表:

#columns labeled on next line since the transpose of index arg is columns
df = pd.DataFrame(np.vstack((a,b)),index=['pe','jsc']).T 
df.index = labels #row labels

尝试这样的事情:

# sample data
df = pd.DataFrame(np.random.rand(4,2), columns=['pe','jsc'], index=list('abcd'))

plt.scatter(df['pe'], df['jsc'])
for idx, row in df.iterrows(): 
    plt.text(row['pe'], row['jsc'], idx)

输出: