plot_data_t Derived Type

type, public :: plot_data_t

Data container for individual plots Separated from figure to follow Single Responsibility Principle


Components

Type Visibility Attributes Name Initial
integer, public :: plot_type = PLOT_TYPE_LINE
real(kind=wp), public, allocatable :: x(:)
real(kind=wp), public, allocatable :: y(:)
real(kind=wp), public, allocatable :: z(:)
real(kind=wp), public, allocatable :: x_grid(:)
real(kind=wp), public, allocatable :: y_grid(:)
real(kind=wp), public, allocatable :: z_grid(:,:)
real(kind=wp), public, allocatable :: contour_levels(:)
logical, public :: use_color_levels = .false.
character(len=20), public :: colormap = 'crest'
logical, public :: show_colorbar = .true.
type(pcolormesh_t), public :: pcolormesh_data
real(kind=wp), public, allocatable :: bar_x(:)
real(kind=wp), public, allocatable :: bar_heights(:)
real(kind=wp), public :: bar_width = 0.8_wp
logical, public :: bar_horizontal = .false.
real(kind=wp), public, allocatable :: hist_bin_edges(:)
real(kind=wp), public, allocatable :: hist_counts(:)
logical, public :: hist_density = .false.
real(kind=wp), public, allocatable :: box_data(:)
real(kind=wp), public :: position = 1.0_wp
real(kind=wp), public :: width = 0.6_wp
logical, public :: show_outliers = .true.
logical, public :: horizontal = .false.
real(kind=wp), public :: q1
real(kind=wp), public :: q2
real(kind=wp), public :: q3
real(kind=wp), public :: whisker_low
real(kind=wp), public :: whisker_high
real(kind=wp), public, allocatable :: outliers(:)
real(kind=wp), public, allocatable :: xerr(:)
real(kind=wp), public, allocatable :: yerr(:)
real(kind=wp), public, allocatable :: xerr_lower(:)
real(kind=wp), public, allocatable :: xerr_upper(:)
real(kind=wp), public, allocatable :: yerr_lower(:)
real(kind=wp), public, allocatable :: yerr_upper(:)
real(kind=wp), public :: capsize = 5.0_wp
real(kind=wp), public :: elinewidth = 1.0_wp
logical, public :: has_xerr = .false.
logical, public :: has_yerr = .false.
logical, public :: asymmetric_xerr = .false.
logical, public :: asymmetric_yerr = .false.
real(kind=wp), public, allocatable :: scatter_sizes(:)
real(kind=wp), public, allocatable :: scatter_colors(:)
real(kind=wp), public :: scatter_size_default = 20.0_wp
character(len=20), public :: scatter_colormap = 'viridis'
logical, public :: scatter_colorbar = .false.
real(kind=wp), public :: scatter_vmin = 0.0_wp
real(kind=wp), public :: scatter_vmax = 1.0_wp
logical, public :: scatter_vrange_set = .false.
real(kind=wp), public, dimension(3) :: color = [0.0_wp, 0.447_wp, 0.698_wp]
character(len=:), public, allocatable :: label
character(len=:), public, allocatable :: linestyle
character(len=:), public, allocatable :: marker

Type-Bound Procedures

procedure, public :: is_3d

  • private function is_3d(self)

    Check if plot data contains 3D information Following KISS principle - simple check for z allocation

    Arguments

    Type IntentOptional Attributes Name
    class(plot_data_t), intent(in) :: self

    Return Value logical