fortplot_twin_axes_rendering Module

Twin axes label rendering for raster, PDF, and ASCII backends Extracted from fortplot_figure_rendering_pipeline for size compliance (Issue #1747)



Subroutines

public subroutine setup_twin_axes_state(has_twinx, has_twiny, twinx_y_min, twinx_y_max, twiny_x_min, twiny_x_max, twinx_yscale, twiny_xscale, twinx_ylabel, twiny_xlabel, xscale, yscale, has_twinx_local, has_twiny_local, twinx_y_min_local, twinx_y_max_local, twiny_x_min_local, twiny_x_max_local, twinx_scale_local, twiny_scale_local)

Setup local state for twin axes configuration

Arguments

Type IntentOptional Attributes Name
logical, intent(in), optional :: has_twinx
logical, intent(in), optional :: has_twiny
real(kind=wp), intent(in), optional :: twinx_y_min
real(kind=wp), intent(in), optional :: twinx_y_max
real(kind=wp), intent(in), optional :: twiny_x_min
real(kind=wp), intent(in), optional :: twiny_x_max
character(len=*), intent(in), optional :: twinx_yscale
character(len=*), intent(in), optional :: twiny_xscale
character(len=:), intent(in), optional, allocatable :: twinx_ylabel
character(len=:), intent(in), optional, allocatable :: twiny_xlabel
character(len=*), intent(in) :: xscale
character(len=*), intent(in) :: yscale
logical, intent(out) :: has_twinx_local
logical, intent(out) :: has_twiny_local
real(kind=wp), intent(out) :: twinx_y_min_local
real(kind=wp), intent(out) :: twinx_y_max_local
real(kind=wp), intent(out) :: twiny_x_min_local
real(kind=wp), intent(out) :: twiny_x_max_local
character(len=16), intent(out) :: twinx_scale_local
character(len=16), intent(out) :: twiny_scale_local

public subroutine render_twin_labels(backend, xscale, yscale, symlog_threshold, x_min, x_max, y_min, y_max, title, xlabel, ylabel, custom_xticks, custom_xtick_labels, custom_yticks, custom_ytick_labels, has_twinx_local, has_twiny_local, twinx_scale_local, twiny_scale_local, twinx_y_min_local, twinx_y_max_local, twiny_x_min_local, twiny_x_max_local, x_date_format, y_date_format, twinx_y_date_format, twiny_x_date_format, twinx_ylabel, twiny_xlabel, draw_primary_labels)

Render labels for all backend types (raster, PDF, ASCII)

Arguments

Type IntentOptional Attributes Name
class(plot_context), intent(inout) :: backend
character(len=*), intent(in) :: xscale
character(len=*), intent(in) :: yscale
real(kind=wp), intent(in) :: symlog_threshold
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
character(len=:), intent(in), allocatable :: title
character(len=:), intent(in), allocatable :: xlabel
character(len=:), intent(in), allocatable :: ylabel
real(kind=wp), intent(in), optional :: custom_xticks(:)
character(len=*), intent(in), optional :: custom_xtick_labels(:)
real(kind=wp), intent(in), optional :: custom_yticks(:)
character(len=*), intent(in), optional :: custom_ytick_labels(:)
logical, intent(in) :: has_twinx_local
logical, intent(in) :: has_twiny_local
character(len=16), intent(in) :: twinx_scale_local
character(len=16), intent(in) :: twiny_scale_local
real(kind=wp), intent(in) :: twinx_y_min_local
real(kind=wp), intent(in) :: twinx_y_max_local
real(kind=wp), intent(in) :: twiny_x_min_local
real(kind=wp), intent(in) :: twiny_x_max_local
character(len=*), intent(in), optional :: x_date_format
character(len=*), intent(in), optional :: y_date_format
character(len=*), intent(in), optional :: twinx_y_date_format
character(len=*), intent(in), optional :: twiny_x_date_format
character(len=:), intent(in), optional, allocatable :: twinx_ylabel
character(len=:), intent(in), optional, allocatable :: twiny_xlabel
logical, intent(in), optional :: draw_primary_labels