用python绘制(x,y)点对点连接

用python绘制(x,y)点对点连接,python,pandas,numpy,matplotlib,Python,Pandas,Numpy,Matplotlib,我正在尝试用python绘制点到点的线图。 我的数据在熊猫数据框中,如下所示 df = pd.DataFrame({ 'x_coordinate': [0, 0, 0, 0, 1, 1,-1,-1,-2,0], 'y_coordinate': [0, 2, 1, 3, 3, 1,1,-2,2,-1], }) print(df) x_coordinate y_coordinate 0 0 0 1

我正在尝试用python绘制点到点的线图。 我的数据在熊猫数据框中,如下所示

df = pd.DataFrame({
'x_coordinate': [0, 0, 0, 0, 1, 1,-1,-1,-2,0],
'y_coordinate': [0, 2, 1, 3,  3, 1,1,-2,2,-1],
})
print(df)

      x_coordinate  y_coordinate
   0             0             0
   1             0             2
   2             0             1
   3             0             3
   4             1             3
   5             1             1
   6            -1             1
   7            -1            -2
   8            -2             2
   9             0            -1
当我绘制这个图时,它是按照df中的顺序从一点连接到另一点的

df.plot('x_coordinate','y_coordinate')


但是,有没有办法,我可以在它旁边画一个订单号?我指的是它旅行的顺序。假设从(0,0)到(0,2)的第一个连接为1,从(0,2)到(0,1)的第一个连接为2,依此类推?

绘图正常。如果要检查每个顶点的打印方式,则需要修改数据。这是修改后的数据(仅x)和绘图

df = pd.DataFrame({
'x_coordinate': [0.1, 0.2, 0.3, 0.4, 1.5, 1.6,-1.7,-1.8,-2.9,0.1],
'y_coordinate': [0, 2, 1, 3,  3, 1,1,-2,2,-1],
})

编辑

对于您的新请求,代码修改如下(完整的可运行代码)


我找到了一个更简单的方法。。我想和你分享

fig, ax = plt.subplots()
df.plot('x_coordinate','y_coordinate',ax=ax)
for k, v in df[['x_coordinate','y_coordinate']].iterrows():
    ax.annotate('p'+str(k+1), v)
plt.show()

绘图中有一些回溯。如果你想看到它们,试着随机添加十进制数并绘图。这能回答你的问题吗?你有
df.index
,你有你的数据点。重复的问题没有区别。对不起。。我不太明白。在这个图中,我也看到起点是(0.1,0),但在这之后,线连接到(-2.9,2),然后连接到(-1.8,-2),等等。我想要的是从(0.1,0)开始,然后连接到(0.2,2),然后连接到(0.3,1),依此类推。那么,这个图怎么样?@JohnsonFrancis在我的图中(用我的数据),线从(x,y)=(0.1,0)开始,然后到(0.2,2),然后通过这些坐标:(0.3,1),(0.4,3),(1.5,3),等等。@swatchai。。Thnx。。看起来我在监督坐标,现在觉得我原来的问题完全是个愚蠢的问题。所以,现在我对它进行了轻微的编辑,以满足不同的要求。对给您带来的不便表示遗憾。
fig, ax = plt.subplots()
df.plot('x_coordinate','y_coordinate',ax=ax)
for k, v in df[['x_coordinate','y_coordinate']].iterrows():
    ax.annotate('p'+str(k+1), v)
plt.show()