There must be a simple way to do this, but maybe I'm just dense at this point, I can't seem to achieve it: For a manipulate environment, I need to generate VectorPlots that have a fixed scaling of the vector sizes, so that a vector of length 1, say, always appears at the same size independently of the size of other vectors.
I have a function that, in principle, looks like so:
vp[t_] :=
VectorPlot[{1, x t}, {x, 0, 1.7}, {y, 0, 1.7},
VectorScale -> {0.03, Automatic, Automatic}]
Thus, the vectors at the left edge (x=0) all have length 1. I want these vectors to appear at the same size no matter what the value of t is.
Right now I get:
so the vectors are rescaled so that their maximum size stays the same. I found a discussion of what seems like a similar request here, but I'm not entirely sure the question is really the same; in any case, I find it hard to believe there's no simple way to do this. Is there really no simple VectorScale
directive that does something as straightforward as this, namely saying "a vector of norm nv
will be plotted at length of d nv
", where d
is a length given in terms of plotting units"?