December 1st, 2012 |
6 Comments

In an earlier entry we created a vector field from measured data. Now we will visualize functions with the `vector`

plotting style. As functions we have two 1/r potentials which define the amplitude of the vectors, as can be seen in Fig. 1. It is often better to indicate the amplitude by a color instead of by the length of the single vectors, especially if there are big changes. For the exact functions have a look into the corresponding file.

By analogy to the data vector field we have again a dx, and dy function for the length of the vectors.

dx(x,y) = scaling*ex(x,y)/enorm(x,y)
dy(x,y) = scaling*ey(x,y)/enorm(x,y)

Now we need a trick, because we have to fill the `u 1:2:3:4`

for the vector style with our function data. The four columns are then x,y,dx,dy of the vectors, where dx, dy are the lengths of the vector in x and y direction. Here the special filename `++`

is a big help. It gives us x and y points as a first and second column, which we could address by `$1`

and `$2`

. The number of points for the two axes are handled by the `samples`

and `isosamples`

command.

set samples 17 # x-axis
set isosamples 15 # y-axis
plot '++' u ($1-dx($1,$2)/2.0):($2-dy($1,$2)/2.0):\
(dx($1,$2)):(dy($1,$2)):(v($1,$2)) \
with vectors head size 0.08,20,60 filled lc palette

To place the vector at the center of the single x, y points, we move the starting point of the vectors to x-dx/2, y-dy/2.