在散点图中显示方向箭头

Nic*_*coH 0 python matplotlib scatter-plot

我在散点图中绘制数据,我想看到滞后的方向。有没有人知道如何在每条线上实现指向下一点方向的箭头?

或者,标记可以由指向下一个点的方向的箭头代替。

我在找什么:

在此处输入图片说明

获取绘图的代码(无箭头):

df = pd.DataFrame.from_dict({'x' : [0,3,8,7,5,3,2,1],
                             'y' : [0,1,3,5,9,8,7,5]})
x = df['x']
y = df['y']
fig, ax = plt.subplots()
ax.scatter(x,y)
ax.plot(x,y)
Run Code Online (Sandbox Code Playgroud)

Imp*_*est 7

正如评论的那样,可以使用plt.quiver沿着一条线产生箭头,例如

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

df = pd.DataFrame.from_dict({'x' : [0,3,8,7,5,3,2,1],
                             'y' : [0,1,3,5,9,8,7,5]})
x = df['x'].values
y = df['y'].values

u = np.diff(x)
v = np.diff(y)
pos_x = x[:-1] + u/2
pos_y = y[:-1] + v/2
norm = np.sqrt(u**2+v**2) 

fig, ax = plt.subplots()
ax.plot(x,y, marker="o")
ax.quiver(pos_x, pos_y, u/norm, v/norm, angles="xy", zorder=5, pivot="mid")
plt.show()
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明