对坐标的散点图,用 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 数组 a
和 b
构成,而标签是两个等长的列表:
#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)
输出:
对于两列 pandas DataFrame,其行包含一对属于彼此的 x-y 坐标的两个值,如何生成二维图以便为每对坐标指定一个注释文本标签等于该行的 index
名称?
例如,坐标 (0.983801
, 0.0155373
) 在图中应显示为单个点并用 AXP
注释。与其余行类似,每一行都有唯一的命名
DataFrame 由两个一维 numpy 数组 a
和 b
构成,而标签是两个等长的列表:
#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)
输出: