fortplot_spec_json_channels Module

JSON channel, scale, domain, and axis parsing.

Handles encoding channels (x, y, color, etc.), scale configuration, axis properties, and supported domain parsing.



Subroutines

public subroutine parse_channel(json, pos, ch, status)

Parse a single encoding channel object

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: json
integer, intent(inout) :: pos
type(channel_t), intent(out) :: ch
integer, intent(out) :: status

public subroutine parse_scale(json, pos, sc, status)

Parse scale object

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: json
integer, intent(inout) :: pos
type(scale_t), intent(out) :: sc
integer, intent(out) :: status

public subroutine parse_supported_domain(json, pos, sc, status)

Parse only numeric domains and skip categorical domains.

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: json
integer, intent(inout) :: pos
type(scale_t), intent(inout) :: sc
integer, intent(out) :: status

public subroutine parse_domain(json, pos, sc, status)

Parse domain array [min, max]

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: json
integer, intent(inout) :: pos
type(scale_t), intent(inout) :: sc
integer, intent(out) :: status

public subroutine parse_axis(json, pos, ax, status)

Parse axis object

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: json
integer, intent(inout) :: pos
type(axis_t), intent(out) :: ax
integer, intent(out) :: status

public subroutine parse_real_array(json, pos, values, status)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: json
integer, intent(inout) :: pos
real(kind=wp), intent(out), allocatable :: values(:)
integer, intent(out) :: status

public subroutine parse_mark(json, pos, m, status)

Parse mark: either a string or an object

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: json
integer, intent(inout) :: pos
type(mark_t), intent(out) :: m
integer, intent(out) :: status

public subroutine parse_encoding(json, pos, enc, status)

Parse encoding object with named channels

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: json
integer, intent(inout) :: pos
type(encoding_t), intent(out) :: enc
integer, intent(out) :: status