Raster tick marks and tick labels rendering functionality Extracted from fortplot_raster_axes.f90 for single responsibility principle
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | public, | parameter | :: | X_TICK_LABEL_PAD | = | 20 | |
| integer, | public, | parameter | :: | Y_TICK_LABEL_RIGHT_PAD | = | 10 | |
| integer, | public, | parameter | :: | Y_TICK_LABEL_LEFT_PAD | = | 10 | |
| integer, | public, | parameter | :: | X_TICK_LABEL_TOP_PAD | = | 20 | |
| integer, | public | :: | last_y_tick_max_width | = | 0 | ||
| integer, | public | :: | last_y_tick_max_width_right | = | 0 | ||
| integer, | public | :: | last_x_tick_max_height_top | = | 0 | 
Draw x-axis tick marks and labels
| Type | Intent | Optional | 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) | :: | xticks(:) | |||
| character(len=*), | intent(in) | :: | xtick_labels(:) | |||
| integer, | intent(in) | :: | xtick_colors(:,:) | |||
| real(kind=wp), | intent(in) | :: | x_min | |||
| real(kind=wp), | intent(in) | :: | x_max | 
Draw y-axis tick marks and labels
| Type | Intent | Optional | 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) | :: | yticks(:) | |||
| character(len=*), | intent(in) | :: | ytick_labels(:) | |||
| integer, | intent(in) | :: | ytick_colors(:,:) | |||
| real(kind=wp), | intent(in) | :: | y_min | |||
| real(kind=wp), | intent(in) | :: | y_max | 
Draw only x-axis tick marks (no labels)
| Type | Intent | Optional | 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) | :: | xticks(:) | |||
| integer, | intent(in) | :: | xtick_colors(:,:) | |||
| real(kind=wp), | intent(in) | :: | x_min | |||
| real(kind=wp), | intent(in) | :: | x_max | 
Draw only y-axis tick marks (no labels)
| Type | Intent | Optional | 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) | :: | yticks(:) | |||
| integer, | intent(in) | :: | ytick_colors(:,:) | |||
| real(kind=wp), | intent(in) | :: | y_min | |||
| real(kind=wp), | intent(in) | :: | y_max | 
Draw only x-axis tick labels (no marks)
| Type | Intent | Optional | 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) | :: | xticks(:) | |||
| character(len=*), | intent(in) | :: | xtick_labels(:) | |||
| real(kind=wp), | intent(in) | :: | x_min | |||
| real(kind=wp), | intent(in) | :: | x_max | 
Draw only y-axis tick labels (no marks)
| Type | Intent | Optional | 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) | :: | yticks(:) | |||
| character(len=*), | intent(in) | :: | ytick_labels(:) | |||
| real(kind=wp), | intent(in) | :: | y_min | |||
| real(kind=wp), | intent(in) | :: | y_max | 
Draw y-axis tick marks and labels along the right side
| Type | Intent | Optional | 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) | :: | yticks(:) | |||
| character(len=*), | intent(in) | :: | ytick_labels(:) | |||
| integer, | intent(in) | :: | ytick_colors(:,:) | |||
| real(kind=wp), | intent(in) | :: | y_min | |||
| real(kind=wp), | intent(in) | :: | y_max | 
Draw y-axis tick marks on the right side (no labels)
| Type | Intent | Optional | 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) | :: | yticks(:) | |||
| integer, | intent(in) | :: | ytick_colors(:,:) | |||
| real(kind=wp), | intent(in) | :: | y_min | |||
| real(kind=wp), | intent(in) | :: | y_max | 
Draw y-axis tick labels on the right side (no marks)
| Type | Intent | Optional | 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) | :: | yticks(:) | |||
| character(len=*), | intent(in) | :: | ytick_labels(:) | |||
| real(kind=wp), | intent(in) | :: | y_min | |||
| real(kind=wp), | intent(in) | :: | y_max | 
Draw x-axis tick marks and labels along the top side
| Type | Intent | Optional | 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) | :: | xticks(:) | |||
| character(len=*), | intent(in) | :: | xtick_labels(:) | |||
| integer, | intent(in) | :: | xtick_colors(:,:) | |||
| real(kind=wp), | intent(in) | :: | x_min | |||
| real(kind=wp), | intent(in) | :: | x_max | 
Draw x-axis tick marks on the top side (no labels)
| Type | Intent | Optional | 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) | :: | xticks(:) | |||
| integer, | intent(in) | :: | xtick_colors(:,:) | |||
| real(kind=wp), | intent(in) | :: | x_min | |||
| real(kind=wp), | intent(in) | :: | x_max | 
Draw x-axis tick labels on the top side (no marks)
| Type | Intent | Optional | 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) | :: | xticks(:) | |||
| character(len=*), | intent(in) | :: | xtick_labels(:) | |||
| real(kind=wp), | intent(in) | :: | x_min | |||
| real(kind=wp), | intent(in) | :: | x_max | 
Compute which x-axis tick labels can be drawn without overlapping Always shows first and last labels, hides overlapping ones in between
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | xticks(:) | |||
| character(len=*), | intent(in) | :: | xtick_labels(:) | |||
| real(kind=wp), | intent(in) | :: | x_min | |||
| real(kind=wp), | intent(in) | :: | x_max | |||
| character(len=*), | intent(in) | :: | xscale | |||
| real(kind=wp), | intent(in) | :: | symlog_threshold | |||
| type(plot_area_t), | intent(in) | :: | plot_area | |||
| logical, | intent(out) | :: | visibility_mask(size(xticks)) |