ASCII terminal plotting backend
Upper bound on tick labels one axis can request; four axes (primary and secondary x/y) size the text-element headroom for twin plots.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | public | :: | width | ||||
| integer, | public | :: | height | ||||
| real(kind=wp), | public | :: | x_min | ||||
| real(kind=wp), | public | :: | x_max | ||||
| real(kind=wp), | public | :: | y_min | ||||
| real(kind=wp), | public | :: | y_max | ||||
| real(kind=wp), | public | :: | view_azim | = | -1.0471975511965976_wp | ||
| real(kind=wp), | public | :: | view_elev | = | 0.5235987755982988_wp | ||
| real(kind=wp), | public | :: | view_dist | = | 10.0_wp | ||
| logical, | public | :: | has_rendered_arrows | = | .false. | ||
| logical, | public | :: | uses_vector_arrows | = | .false. | ||
| logical, | public | :: | has_triangular_arrows | = | .false. | ||
| character(len=1), | public, | allocatable | :: | canvas(:,:) | |||
| type(plot_margins_t), | public | :: | margins | ||||
| type(plot_area_t), | public | :: | plot_area | ||||
| character(len=:), | public, | allocatable | :: | title_text | |||
| character(len=:), | public, | allocatable | :: | xlabel_text | |||
| character(len=:), | public, | allocatable | :: | ylabel_text | |||
| logical, | public | :: | title_set | = | .false. | ||
| type(text_element_t), | public, | allocatable | :: | text_elements(:) | |||
| integer, | public | :: | num_text_elements | = | 0 | ||
| type(text_element_t), | public, | allocatable | :: | arrow_elements(:) | |||
| integer, | public | :: | num_arrow_elements | = | 0 | ||
| real(kind=wp), | public | :: | current_r | ||||
| real(kind=wp), | public | :: | current_g | ||||
| real(kind=wp), | public | :: | current_b | ||||
| logical, | public | :: | stream_mode | = | .false. | ||
| integer, | public | :: | plot_width | = | 80 | ||
| integer, | public | :: | plot_height | = | 24 | ||
| character(len=96), | public, | allocatable | :: | legend_lines(:) | |||
| integer, | public | :: | num_legend_lines | = | 0 | ||
| logical, | public | :: | capturing_legend | = | .false. | ||
| real(kind=wp), | public | :: | stored_y_min | = | 0.0_wp | ||
| real(kind=wp), | public | :: | stored_y_max | = | 0.0_wp | ||
| logical, | public | :: | has_stored_y_range | = | .false. | ||
| character(len=16), | public | :: | last_xscale | = | 'linear' | ||
| character(len=16), | public | :: | last_yscale | = | 'linear' | ||
| real(kind=wp), | public | :: | last_symlog_threshold | = | 1.0_wp |
Optional custom x-tick positions/labels forwarded by the render
engine so the ASCII axis honours |
|
| real(kind=wp), | public, | allocatable | :: | custom_xtick_positions(:) | |||
| character(len=64), | public, | allocatable | :: | custom_xtick_labels(:) |
Text charset: 'ascii' (default, pure-ASCII bytes), 'unicode'
(box-drawing frame plus Unicode markers/arrows, #2060), or 'braille'
(2x4 subpixel line/marker data via |
||
| character(len=16), | public | :: | text_charset | = | 'ascii' |
Text color mode: 'never' (default, no escapes), 'ansi16', 'ansi256',
'truecolor', or 'auto' (resolved from the environment at output time).
|
|
| character(len=16), | public | :: | text_color_mode | = | 'never' | ||
| integer, | public, | allocatable | :: | canvas_color(:,:) | |||
| type(braille_canvas_t), | public, | allocatable | :: | braille |
| procedure, public :: line => ascii_draw_line | |
| procedure, public :: color => ascii_set_color | |
| procedure, public :: text => ascii_draw_text | |
| procedure, public :: clear_text_background => ascii_clear_text_background | |
| procedure, public :: draw_text_overlay => ascii_draw_text_overlay | |
| procedure, public :: set_line_width => ascii_set_line_width | |
| procedure, public :: set_line_style => ascii_set_line_style | |
| procedure, public :: save => ascii_save | |
| procedure, public :: save_to_unit => ascii_save_to_unit | |
| procedure, public :: set_title => ascii_set_title | |
| procedure, public :: draw_marker => ascii_draw_marker | |
| procedure, public :: set_marker_colors => ascii_set_marker_colors | |
| procedure, public :: set_marker_colors_with_alpha => ascii_set_marker_colors_with_alpha | |
| procedure, public :: fill_heatmap => ascii_fill_heatmap | |
| procedure, public :: draw_arrow => ascii_draw_arrow | |
| procedure, public :: draw_arrowhead => ascii_draw_arrowhead | |
| procedure, public :: draw_quiver_arrow => ascii_draw_quiver_arrow | |
| procedure, public :: get_ascii_output => ascii_get_output_method | |
| procedure, public :: set_text_charset => ascii_set_text_charset | |
| procedure, public :: set_text_color_mode => ascii_set_text_color_mode | New polymorphic methods to eliminate SELECT TYPE |
| procedure, public :: get_width_scale => ascii_get_width_scale | |
| procedure, public :: get_height_scale => ascii_get_height_scale | |
| procedure, public :: fill_quad => ascii_fill_quad | |
| procedure, public :: render_legend_specialized => ascii_render_legend_specialized | |
| procedure, public :: calculate_legend_dimensions => ascii_calculate_legend_dimensions | |
| procedure, public :: set_legend_border_width => ascii_set_legend_border_width | |
| procedure, public :: calculate_legend_position_backend => ascii_calculate_legend_position | |
| procedure, public :: extract_rgb_data => ascii_extract_rgb_data | |
| procedure, public :: get_png_data_backend => ascii_get_png_data | |
| procedure, public :: prepare_3d_data => ascii_prepare_3d_data | |
| procedure, public :: render_ylabel => ascii_render_ylabel | |
| procedure, public :: draw_axes_and_labels_backend => ascii_draw_axes_and_labels | |
| procedure, public :: save_coordinates => ascii_save_coordinates | |
| procedure, public :: set_coordinates => ascii_set_coordinates | |
| procedure, public :: render_axes => ascii_render_axes | |
| procedure, public :: clear_ascii_legend => ascii_clear_legend_lines | |
| procedure, public :: add_ascii_legend_entry => ascii_add_legend_entry | |
| procedure, public :: clear_pie_legend_entries => ascii_clear_pie_legend_entries | |
| procedure, public :: register_pie_legend_entry => ascii_register_pie_legend_entry |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in), | optional | :: | width | ||
| integer, | intent(in), | optional | :: | height |