fortplot_figure_histogram Module

Figure histogram functionality module

Single Responsibility: Handle histogram calculation and visualization Extracted from fortplot_figure_core to improve modularity



Subroutines

public subroutine calculate_histogram_bins(data, n_bins, normalize_density, bin_edges, bin_counts, range, weights, cumulative)

Calculate histogram bin edges and counts from data.

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in), contiguous :: data(:)
integer, intent(in) :: n_bins
logical, intent(in) :: normalize_density
real(kind=wp), intent(out), allocatable :: bin_edges(:)
real(kind=wp), intent(out), allocatable :: bin_counts(:)
real(kind=wp), intent(in), optional :: range(2)
real(kind=wp), intent(in), optional :: weights(:)
logical, intent(in), optional :: cumulative

public subroutine create_histogram_line_data(bin_edges, bin_counts, x_data, y_data, horizontal)

Create line data for histogram visualization as connected rectangles.

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in), contiguous :: bin_edges(:)
real(kind=wp), intent(in), contiguous :: bin_counts(:)
real(kind=wp), intent(out), allocatable :: x_data(:)
real(kind=wp), intent(out), allocatable :: y_data(:)
logical, intent(in), optional :: horizontal

public subroutine hist_figure(plots, state, plot_count, data, bins, density, label, color, range, weights, cumulative, orientation, alpha)

Add histogram to figure plots array (matplotlib-compatible).

Read more…

Arguments

Type IntentOptional Attributes Name
type(plot_data_t), intent(inout) :: plots(:)
type(figure_state_t), intent(inout) :: state
integer, intent(inout) :: plot_count
real(kind=wp), intent(in), contiguous :: data(:)
integer, intent(in), optional :: bins
logical, intent(in), optional :: density
character(len=*), intent(in), optional :: label
real(kind=wp), intent(in), optional :: color(3)
real(kind=wp), intent(in), optional :: range(2)
real(kind=wp), intent(in), optional :: weights(:)
logical, intent(in), optional :: cumulative
character(len=*), intent(in), optional :: orientation
real(kind=wp), intent(in), optional :: alpha