Figure histogram functionality module
Single Responsibility: Handle histogram calculation and visualization Extracted from fortplot_figure_core to improve modularity
Calculate histogram bin edges and counts from data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | 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(:) | 
Create line data for histogram visualization as connected rectangles
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | bin_edges(:) | |||
| real(kind=wp), | intent(in) | :: | bin_counts(:) | |||
| real(kind=wp), | intent(out), | allocatable | :: | x_data(:) | ||
| real(kind=wp), | intent(out), | allocatable | :: | y_data(:) | 
Add histogram to figure plots array
| Type | Intent | Optional | 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) | :: | 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) |