Looks to me that ListVectorPlot is plotting the vector in such a way that the supplied first point is not the starting point, but rather the middle point. Is it possible to tell ListVectorPlot to start at the supplied first point?
I’m not sure I know what you mean. Can you give an example?
ListVectorPlot is often confusing because it tries to smooth out data and show vectors at even intervals. It’s very often the case that someone uses the function when they really don’t want to be using that function.
Sometimes the answer is to use the option VectorPoints->All:
Sometimes it’s easier to build your plot with Arrows and Graphics:
Graphics[{Arrowheads[0.02], Flatten@Table[ Arrow[{{x, y}, {x, y} + 0.1 {y, y}}], {x, -3, 3, 0.5}, {y, -3, 3, 0.5}]}, Axes -> True]
As Sean points out, ListVectorPlot actually interpolates the provided vectors to a vector field, and then plots a “nice” grid of vectors. The option VectorPoints->All should cause only the specific vectors be plotted, with no need for interpolation. Unfortunately, even though there is no need for interpolation, ListVectorPlot will still enforce the requirement that the input vectors be suitable for interpolation. So there are quite a few cases in which it throws an error without real need. I have submitted a request through tech support that this be remedied in a future release.
Kind regards,
David
Thanks Guys for the replies. Yes, I ended up doing Arrowheads and Arrow.
Table[{Graphics[
Table[{Arrowheads[Tiny],
Arrow[{2*quadrantsize*ijtablelens[[i, j]] - quadrantsize,
2*wmlenslet[[n, i, j]]*ijtablelens[[i, j]] -
quadrantsize}]}, {i, 1, numoflens}, {j, 1, numoflens}],
PlotRegion -> {{0, 1}, {0, 1}}, PlotRange -> All,
ImageSize -> Small, PlotLabel -> n , Frame -> True,
AxesOrigin -> {0, 0}],
MatrixPlot[wavefr265[[n]], ImageSize -> Small , PlotLabel -> n],
ArrayPlot[specklesraw[[n]], ImageSize -> Small ,
PlotLabel -> n]}, {n, 900, 950}]
The ListVectorPlot in place of Graphics was very similar to this. When I Showed the two on the same canvas I could see clearly that ListVectorPlot was plotting something totally different, although according to documentation the starting point of the vectors should have been the same.
I found another easy way on Stack Exchange: https://mathematica.stackexchange.com/questions/71501/vectorplot3d-vectors-starting-at-points