Hi @yogi_dhiman ,
if you do not mind the circles instead of arrowheads, you could do something like this:
import plotly.graph_objects as go
import numpy as np
# set data
x = np.asarray([0,1,2,3,4,5,6])
y = np.asarray([0,1,2,3,4,5,6])
a = np.asarray([55,-20,34,22,76,-20,-80])
length = 1
# calculate coordinates of second vector point
dx = x + np.cos(np.radians(a)) * length
dy = y + np.sin(np.radians(a)) * length
# add start and end points to array
xx = np.c_[x, dx]
yy = np.c_[y, dy]
# create figure
fig = go.Figure()
# add traces to figure
for x, y in zip(xx, yy):
fig.add_scatter(x=x, y=y, mode='markers+lines', marker={'size': [0,10]})
# update figure layout
fig.update_layout({'xaxis': {'range': [0,7]}, 'yaxis': {'range': [0,7]}, 'width': 800, 'height': 800})
which produces this: