I'd like to scale with independent parameters the vectors and the corresponding arrowheads in a vector plot. The basic code is as follows:
vecP = 9;
disk = 1.4;
vecScale = .1;
arrScale = .8;
thickn = 0.007;
toPlot[x, y]:=(4 E^(2 Im[ArcTan[x, y]] + 2 Re[-x^2 - y^2]) Abs[x^2 + y^2])/\[Pi];
vpm1 = VectorPlot[
toPlot[x, y] {y, -x}, {x, y} \[Element] Disk[{0, 0}, disk],
VectorPoints -> vecP,
VectorScale -> {vecScale, arrScale},
VectorStyle -> {Black, Thickness[thickn]},
]
Of course the above code doesn't work, as the "arrScale" parameter assigns a fixed dimension to each arrowhead in the plot (while vecScale is actually scaling the vectors).
What I'd like to do is to scale the arrowheads as well, but with a different scaling coefficient respect to the vector scaling.
I thought of doing something like:
VectorScale -> {vecScale, arrScale * #&}
as one would do in a ColorFunction approach:
ColorFunction -> (Blend[{White,Black}, #] &)
where the slot #& is referred to the plotted function's value point by point. However, this approach doesn't work in my specific case (if someone can explain me why I'd be glad :) ).