draw_ascii_vector_arrow Subroutine

public subroutine draw_ascii_vector_arrow(canvas, x, y, u, v, x_min, x_max, y_min, y_max, plot_area, plot_width, plot_height)

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.

Arguments

Type IntentOptional 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