Python 成对坐标的散点图,用标签的数据框索引名称注释
对于双列数据框,其行包含一对作为x-y坐标属于彼此的两个值,如何生成2D绘图,以便为每对坐标指定一个注释文本标签,该标签等于该行的Python 成对坐标的散点图,用标签的数据框索引名称注释,python,pandas,dataframe,annotations,scatter-plot,Python,Pandas,Dataframe,Annotations,Scatter Plot,对于双列数据框,其行包含一对作为x-y坐标属于彼此的两个值,如何生成2D绘图,以便为每对坐标指定一个注释文本标签,该标签等于该行的索引名称 例如,坐标(0.983801,0.0155373)应在绘图中显示为单个点,并用AXP注释。与其余行类似,每个行的名称都是唯一的 数据帧由两个一维numpy数组a和b构成,而标签是一个长度与两者相等的列表: #columns labeled on next line since the transpose of index arg is columns df
索引
名称
例如,坐标(0.983801
,0.0155373
)应在绘图中显示为单个点,并用AXP
注释。与其余行类似,每个行的名称都是唯一的
数据帧由两个一维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)
输出:
这很有效。如何控制点和标签之间的距离,使它们不会重叠?@develist您可以向
plt.text
:plt.text(行['pe']+0.03,行['jsc']+0.03,idx)
。使用偏移量。我不认为df.iterrows
维护了数据点索引的相应顺序,就像它们在数据帧中的显示方式一样。打印标签和数据点与原始标签和数据点不对应data@develarist是的。这就是ItErrors
的全部要点。如果您认为顺序不正确,您应该检查数据帧的创建。这只是df:col=df[col\u name]中col\u name的