Project a quiver vector to a text cell, clip it to the interior plot
area, and stamp an eight-direction ASCII glyph at data-layer priority
so it never overwrites axis spines, ticks, or label text (issue #2071).
u/v are the already scaled vector components in data units, so
the caller's scale factor still governs which arrows survive the
minimum-shaft cut. The interior clip drops vectors that would land on
the frame or in the tick/axis label margin.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=1), | intent(inout) | :: | canvas(:,:) | |||
| real(kind=wp), | intent(in) | :: | x | |||
| real(kind=wp), | intent(in) | :: | y | |||
| real(kind=wp), | intent(in) | :: | u | |||
| real(kind=wp), | intent(in) | :: | v | |||
| real(kind=wp), | intent(in) | :: | x_min | |||
| real(kind=wp), | intent(in) | :: | x_max | |||
| real(kind=wp), | intent(in) | :: | y_min | |||
| real(kind=wp), | intent(in) | :: | y_max | |||
| type(plot_area_t), | intent(in) | :: | plot_area | |||
| integer, | intent(in) | :: | plot_width | |||
| integer, | intent(in) | :: | plot_height |