ASCII terminal plotting backend
This module implements text-based plotting for terminal output using ASCII characters and Unicode box drawing characters. Provides basic line plotting with character density mapping for visualization.
Author: fortplot contributors
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=wp), | public, | parameter | :: | ASCII_CHAR_ASPECT | = | 2.0_wp | 
| 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 | ||||
| logical, | public | :: | has_rendered_arrows | = | .false. | ||
| logical, | public | :: | uses_vector_arrows | = | .false. | ||
| logical, | public | :: | has_triangular_arrows | = | .false. | ||
| character(len=1), | public, | allocatable | :: | canvas(:,:) | |||
| 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 | ||
| real(kind=wp), | public | :: | current_r | ||||
| real(kind=wp), | public | :: | current_g | ||||
| real(kind=wp), | public | :: | current_b | ||||
| 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. | 
| procedure, public :: line => ascii_draw_line | |
| procedure, public :: color => ascii_set_color | |
| procedure, public :: text => ascii_draw_text | |
| 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 :: 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 :: get_ascii_output => ascii_get_output_method | 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 |