fortplot_raster_axes_secondary Module

Secondary axis and helper functions for raster backend Extracted from fortplot_raster_axes for size compliance (refs #1694)



Functions

public function compute_ylabel_x_pos(y_tick_label_edge, rotated_width) result(x_pos)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: y_tick_label_edge
integer, intent(in) :: rotated_width

Return Value integer

public function compute_ylabel_x_pos_old(plot_area, rotated_width, y_tick_max_width) result(x_pos)

Arguments

Type IntentOptional Attributes Name
type(plot_area_t), intent(in) :: plot_area
integer, intent(in) :: rotated_width
integer, intent(in) :: y_tick_max_width

Return Value integer

public function y_tick_label_right_edge_at_axis(plot_area, max_width_measured) result(edge)

Arguments

Type IntentOptional Attributes Name
type(plot_area_t), intent(in) :: plot_area
integer, intent(in) :: max_width_measured

Return Value integer

public function y_tick_label_right_edge_at_axis_old(plot_area) result(edge)

Arguments

Type IntentOptional Attributes Name
type(plot_area_t), intent(in) :: plot_area

Return Value integer


Subroutines

public subroutine raster_draw_secondary_y_axis(raster, width, height, plot_area, yscale, symlog_threshold, y_min, y_max, ylabel, date_format)

Arguments

Type IntentOptional Attributes Name
type(raster_image_t), intent(inout) :: raster
integer, intent(in) :: width
integer, intent(in) :: height
type(plot_area_t), intent(in) :: plot_area
character(len=*), intent(in) :: yscale
real(kind=wp), intent(in) :: symlog_threshold
real(kind=wp), intent(in) :: y_min
real(kind=wp), intent(in) :: y_max
character(len=:), intent(in), optional, allocatable :: ylabel
character(len=*), intent(in), optional :: date_format

public subroutine raster_draw_secondary_x_axis_top(raster, width, height, plot_area, xscale, symlog_threshold, x_min, x_max, xlabel, date_format)

Arguments

Type IntentOptional Attributes Name
type(raster_image_t), intent(inout) :: raster
integer, intent(in) :: width
integer, intent(in) :: height
type(plot_area_t), intent(in) :: plot_area
character(len=*), intent(in) :: xscale
real(kind=wp), intent(in) :: symlog_threshold
real(kind=wp), intent(in) :: x_min
real(kind=wp), intent(in) :: x_max
character(len=:), intent(in), optional, allocatable :: xlabel
character(len=*), intent(in), optional :: date_format

public subroutine compute_non_overlapping_mask_simple(centers, widths, min_gap, keep)

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in), contiguous :: centers(:)
integer, intent(in) :: widths(:)
real(kind=wp), intent(in) :: min_gap
logical, intent(out) :: keep(size(centers))