Ask Your Question

3D Vector Field Doesn't have Arrows

asked 2018-04-07 04:01:14 +0200

jackseven gravatar image

I have been trying to plot 3D vector fields, but I keep running into a problem. The graphic does not have arrows instead it is just lines. Here is the code.

p = plot_vector_field3d((x,y,z), (x, -5, 5), (y, -5, 5), (z, -5, 5))
edit retag flag offensive close merge delete


Welcome to Ask Sage! Thank you for your question!

slelievre gravatar imageslelievre ( 2018-04-07 21:09:34 +0200 )edit

2 Answers

Sort by ยป oldest newest most voted

answered 2018-04-07 13:25:06 +0200

eric_g gravatar image

updated 2018-04-08 10:38:38 +0200

Until #24623 is ready, the minimal code to plot the proposed vector field within the manifold framework is (this works with Sage >= 7.5):

R3 = Manifold(3, 'R^3')
X.<x,y,z> = R3.chart()
v = R3.vector_field()
v[:] = (x,y,z)
p = v.plot(max_range=5, scale=0.5)

It is a little bit slow, but thanks to some optimisations, this should be improved in future versions of Sage. See the online doc for the list of all options of v.plot(). Note also that you can replace the last line by'threejs').

edit flag offensive delete link more


Once #24623 is merged in Sage, the above code will reduce to

E.<x,y,z> = EuclideanSpace(3)
v = E.vector_field((x,y,z))
v.plot(max_range=5, scale=0.5)
eric_g gravatar imageeric_g ( 2018-04-08 12:21:16 +0200 )edit

answered 2018-04-07 11:40:03 +0200

slelievre gravatar image

updated 2018-04-07 12:49:30 +0200

The SageManifolds implementation of vector fields gives you a rendering with arrows.

See the gallery at

There is ongoing work to make the SageManifolds approach the default for vector fields in Sage, see

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools


Asked: 2018-04-07 04:01:14 +0200

Seen: 696 times

Last updated: Apr 08 '18