calculate_figure_data_ranges Subroutine

public subroutine calculate_figure_data_ranges(plots, plot_count, xlim_set, ylim_set, x_min, x_max, y_min, y_max, x_min_transformed, x_max_transformed, y_min_transformed, y_max_transformed, xscale, yscale, symlog_threshold)

Calculate overall data ranges for the figure with robust edge case handling Fixed Issue #432: Handles zero-size arrays and single points properly

Arguments

Type IntentOptional Attributes Name
type(plot_data_t), intent(in) :: plots(:)
integer, intent(in) :: plot_count
logical, intent(in) :: xlim_set
logical, intent(in) :: ylim_set
real(kind=wp), intent(inout) :: x_min
real(kind=wp), intent(inout) :: x_max
real(kind=wp), intent(inout) :: y_min
real(kind=wp), intent(inout) :: y_max
real(kind=wp), intent(out) :: x_min_transformed
real(kind=wp), intent(out) :: x_max_transformed
real(kind=wp), intent(out) :: y_min_transformed
real(kind=wp), intent(out) :: y_max_transformed
character(len=*), intent(in) :: xscale
character(len=*), intent(in) :: yscale
real(kind=wp), intent(in) :: symlog_threshold