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)
正如评论的那样,可以使用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)
| 归档时间: |
|
| 查看次数: |
3854 次 |
| 最近记录: |