Als Mike Wise erwähnt, ist es nicht möglich, sie direkt nach vorne zu tun, doch Sie Ihre Vektor berechnen kann und es dann plotten durch die Linie zum Ursprung Zeichnung:
Zum Beispiel: Plot einige Punkte in 3D und zeichnen Sie einen Vektor auf den Schwerpunkt dieser Punkte entsprechenden
import plotly.graph_objs as go
from plotly.offline import plot
#prepare plotting points
#points are: (0,5,5),(5,0,0),(5,10,5),(10,5,5)
points = go.Scatter3d(x = [0,5,5,10],
y = [5,0,10,5],
z = [5,0,5,0],
mode = 'markers',
marker = dict(size = 2,
color = "rgb(227,26,28)")
)
#Compute centroid of all 3 points by taking the mean of each of
#its coordinates (not sure this is the right definition of centroid)
centerX = (0+5+5+10)/float(4)
centerY = (5+0+10+5)/float(4)
centerZ = (5+0+5+0)/float(4)
#Prepare centroid vector
vector = go.Scatter3d(x = [0,centerX],
y = [0,centerY],
z = [0,centerZ],
marker = dict(size = 1,
color = "rgb(84,48,5)"),
line = dict(color = "rgb(84,48,5)",
width = 6)
)
data = [points,vector]
layout = go.Layout(margin = dict(l = 0,
r = 0,
b = 0,
t = 0)
)
fig = go.Figure(data=data,layout=layout)
plot(fig,filename="vector.html",auto_open=False,image='png',image_height=800,image_width=1500)
Dies erzeugt:
Es wird viel besser sein, wenn Sie die interaktive HTML-Datei öffnen
Da Plotly keine Liniensegmente hat, können Sie dies nicht wirklich sehr gut tun. Sie könnten eine Linie von einem Punkt zum anderen zeichnen und am Ende etwas komisches tun, das ein bisschen wie eine Pfeilspitze aussieht, aber die notwendigen Primitiven, um es richtig zu machen, scheinen nicht da zu sein. –