Ask Your Question
1

How to change linestyle of 2d vector field plots

asked 11 years ago

sagefan gravatar image

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

Preview: (hide)

1 Answer

Sort by » oldest newest most voted
1

answered 11 years ago

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.

Preview: (hide)
link

Your Answer

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

Add Answer

Question Tools

Stats

Asked: 11 years ago

Seen: 1,229 times

Last updated: Jan 24 '14