fortplot_2d_plots Module

2D plot operations module

This module handles all 2D plot operations including line plots and their associated data initialization and property setting.



Interfaces

public interface add_plot

  • public subroutine add_plot_impl(self, x, y, label, linestyle, color_rgb, color_str, marker, markercolor)

    Add 2D line plot to figure

    Arguments

    Type IntentOptional Attributes Name
    class(figure_t), intent(inout) :: self
    real(kind=wp), intent(in) :: x(:)
    real(kind=wp), intent(in) :: y(:)
    character(len=*), intent(in), optional :: label
    character(len=*), intent(in), optional :: linestyle
    real(kind=wp), intent(in), optional :: color_rgb(3)
    character(len=*), intent(in), optional :: color_str
    character(len=*), intent(in), optional :: marker
    real(kind=wp), intent(in), optional :: markercolor(3)

Subroutines

public subroutine add_plot_impl(self, x, y, label, linestyle, color_rgb, color_str, marker, markercolor)

Add 2D line plot to figure

Arguments

Type IntentOptional Attributes Name
class(figure_t), intent(inout) :: self
real(kind=wp), intent(in) :: x(:)
real(kind=wp), intent(in) :: y(:)
character(len=*), intent(in), optional :: label
character(len=*), intent(in), optional :: linestyle
real(kind=wp), intent(in), optional :: color_rgb(3)
character(len=*), intent(in), optional :: color_str
character(len=*), intent(in), optional :: marker
real(kind=wp), intent(in), optional :: markercolor(3)

public subroutine add_line_plot_data(self, x, y, label, linestyle, color_rgb, color_str, marker)

Add line plot data with comprehensive validation Enhanced Issue #854: Added comprehensive parameter validation

Arguments

Type IntentOptional Attributes Name
class(figure_t), intent(inout) :: self
real(kind=wp), intent(in) :: x(:)
real(kind=wp), intent(in) :: y(:)
character(len=*), intent(in), optional :: label
character(len=*), intent(in), optional :: linestyle
real(kind=wp), intent(in), optional :: color_rgb(3)
character(len=*), intent(in), optional :: color_str
character(len=*), intent(in), optional :: marker

public subroutine init_line_plot_data(plot, x, y)

Initialize basic line plot data

Arguments

Type IntentOptional Attributes Name
type(plot_data_t), intent(inout) :: plot
real(kind=wp), intent(in) :: x(:)
real(kind=wp), intent(in) :: y(:)

public subroutine set_line_plot_properties(plot, plot_idx, label, linestyle, marker, color_rgb, color_str, state)

Set line plot properties (style, color, etc.) Extracted from add_line_plot_data for QADS compliance

Arguments

Type IntentOptional Attributes Name
type(plot_data_t), intent(inout) :: plot
integer, intent(in) :: plot_idx
character(len=*), intent(in), optional :: label
character(len=*), intent(in), optional :: linestyle
character(len=*), intent(in), optional :: marker
real(kind=wp), intent(in), optional :: color_rgb(3)
character(len=*), intent(in), optional :: color_str
type(figure_state_t), intent(in) :: state