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), | 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 |
Create line data for histogram visualization as connected rectangles.
| Type | Intent | Optional | 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 |
Add histogram to figure plots array (matplotlib-compatible).
| 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), | 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 |