VectorPlot with unitsize vectors

I want to plot a vector field in which vectors are unite vectors(I want to show just direction of the vectors). I used vector Plot as below:

u = (x (y^2/(x^2 + y^2))/(x^2 + y^2)^(1/2));
v =  (y (y^2/(x^2 + y^2))/(x^2 + y^2)^(1/2));
VectorPlot[Boole[x^2 + y^2 > 1.5] {u, v}, {x, -5, 5}, {y, -5, 5}]


but it considers the size of vectors. Does anyone know how to solve the problem?

• Look up VectorScale. Aug 4, 2017 at 9:56

1 Answer

u = beta (x (-1 + 3 y^2/(x^2 + y^2))/(x^2 + y^2)^(3/2)) /. beta -> 1;
v = (y (-1 + 3 y^2/(x^2 + y^2))/(x^2 + y^2)^(3/2));

VectorPlot[Boole[x^2 + y^2 > 1.5] {u, v}, {x, -5, 5}, {y, -5, 5},
VectorScale -> {Automatic, Automatic, None},
ImageSize -> Large]


Different sizes, "but not too much"

VectorPlot[Boole[x^2 + y^2 > 1.5] {u, v}, {x, -5, 5}, {y, -5, 5},
VectorScale -> {Large, Automatic, Exp[#5] &},
VectorStyle -> Arrowheads[0.02],
ImageSize -> Large]


• is there any way to use different sizes for vectors but the difference is not too much? Aug 4, 2017 at 10:12
• please edit your answer because I have edited the question. So I can chose it as correct Aug 4, 2017 at 10:26
• which parameter controls "too much"? Aug 4, 2017 at 10:49
• Exp[#5]&] - but there are endless possibilities with VectorScale
– eldo
Aug 4, 2017 at 11:01
• to make the difference more clear, should i increase 5? Aug 4, 2017 at 11:08