When plotting vector fields how to keep arrow head size constant, have the arrow LENGTH proportional to the MAGNITUDE of each vector, change the thickness of the vectors (but keep this constant) and change the vector color.

It would also be nice to have the vector TAIL (rather than the vector midpoint) drawn from the appropriate vector point.

The problem seems to be that in v.10 the VectorStyle command only executes the first argument i

  • $\begingroup$ Likely related: (58515) $\endgroup$
    – Mr.Wizard
    Jun 24, 2015 at 6:21
  • $\begingroup$ Minor points of clarification: Your question seems to end mid sentence. Is something missing, or is the final "i" a typo? I'm not sure what "arguments" VectorStyle takes since it is an option, not a function. 3D or 2D? $\endgroup$
    – Michael E2
    Jun 24, 2015 at 17:15
  • $\begingroup$ Also related: q/71787 $\endgroup$
    – Michael E2
    Jun 24, 2015 at 17:17

1 Answer 1


This should give you a start:

VectorPlot[{y, -x}, {x, -3, 3}, {y, -3, 3},
  VectorScale -> {Medium, 1/2, Automatic}, 
  VectorStyle -> {{Thick, Red}}

enter image description here

For changing the position of vector arrows please see:


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.