Ask Your Question

How to change linestyle of 2d vector field plots

asked 2014-01-23 14:41:24 +0200

sagefan gravatar image

How can I change the linewidth and the arrow tips of a 2d vector field plot?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2014-01-24 11:39:41 +0200

ppurka gravatar image

Look at the output below. You can see that it is possible to change the arrow style but not the linewidths.

sage: p = plot_vector_field((x, y), (x, -2, 2), (y, -2, 2), headlength=10, headwidth=10)
sage: p._objects
[PlotField defined by a 20 x 20 vector grid]
sage: P = p._objects[0]
sage: P._allowed_options()
{'color': 'The color of the arrows',
 'headaxislength': 'head length at shaft intersection, default is 4.5',
 'headlength': 'head length as multiple of shaft width, default is 5',
 'headwidth': 'Head width as multiple of shaft width, default is 3',
 'pivot': 'Where the arrow should be placed in relation to the point (tail, middle, tip)',
 'plot_points': 'How many points to use for plotting precision',
 'zorder': 'The layer level in which to draw'}

I must agree that the documentation of vector field is pretty poor. And the function definitely needs to add the functionality for linewidth, and possible other things. The plot_vector_field calls matplotlib's quiver function which has support for linewidth.

I just opened ticket 15724 and ticket 15725 to address these issues.

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: 2014-01-23 14:41:24 +0200

Seen: 798 times

Last updated: Jan 24 '14