I would like to plot the polarization state of a two-dimensional vector field (linear, circular or generally elliptic), similarly to that seen on this ZEMAX plot:
It looks like some kind of enhanced quiver plot: a small line with arrows at both ends points out the local direction of linear polarization, while a directed ellipse with a given orientation of its axes depicts local elliptical polarization state (which becomes a circle for circular polarization).

I am a novice matplotlib user, please give me some advice on how to start with implementing such a plot (what to read, API examples to look at etc.)

Kornel JAHN