fortplot_spec_config_types Module

Vega-Lite config types for style theming.

These types mirror the Vega-Lite config object structure and allow fortplot to carry visual style information parsed from JSON or supplied by built-in style presets (MPL, Vega-Lite).

Sentinel convention: -1.0 means "unset / use default".



Derived Types

type, public ::  padding_t

Pixel padding around the plot area (maps to Vega-Lite padding).

Components

Type Visibility Attributes Name Initial
integer, public :: left = -1
integer, public :: right = -1
integer, public :: top = -1
integer, public :: bottom = -1
logical, public :: defined = .false.

type, public ::  config_axis_t

Axis configuration (maps to Vega-Lite config.axis).

Components

Type Visibility Attributes Name Initial
logical, public :: domain = .true.
logical, public :: domain_set = .false.
logical, public :: grid = .false.
logical, public :: grid_set = .false.
real(kind=wp), public :: grid_opacity = -1.0_wp
real(kind=wp), public :: grid_width = -1.0_wp
character(len=7), public :: grid_color = ''
logical, public :: grid_color_set = .false.
real(kind=wp), public :: label_font_size = -1.0_wp
real(kind=wp), public :: title_font_size = -1.0_wp
real(kind=wp), public :: tick_size = -1.0_wp
real(kind=wp), public :: tick_width = -1.0_wp
character(len=7), public :: tick_color = ''
logical, public :: tick_color_set = .false.
character(len=40), public :: label_font = ''
logical, public :: label_font_set = .false.
character(len=40), public :: title_font = ''
logical, public :: title_font_set = .false.
character(len=20), public :: title_font_weight = ''
logical, public :: title_font_weight_set = .false.
logical, public :: defined = .false.

type, public ::  config_view_t

View rectangle (maps to Vega-Lite config.view).

Components

Type Visibility Attributes Name Initial
character(len=7), public :: stroke = ''
logical, public :: stroke_set = .false.
real(kind=wp), public :: stroke_width = -1.0_wp
logical, public :: defined = .false.

type, public ::  config_mark_defaults_t

Mark defaults (maps to Vega-Lite config.line/point/bar).

Components

Type Visibility Attributes Name Initial
real(kind=wp), public :: line_stroke_width = -1.0_wp
real(kind=wp), public :: point_size = -1.0_wp
logical, public :: point_filled = .true.
logical, public :: point_filled_set = .false.
character(len=7), public :: bar_fill = ''
logical, public :: bar_fill_set = .false.
logical, public :: defined = .false.

type, public ::  config_title_t

Title configuration (maps to Vega-Lite config.title).

Components

Type Visibility Attributes Name Initial
real(kind=wp), public :: font_size = -1.0_wp
character(len=40), public :: font = ''
logical, public :: font_set = .false.
character(len=20), public :: font_weight = ''
logical, public :: font_weight_set = .false.
character(len=10), public :: anchor = ''
logical, public :: anchor_set = .false.
real(kind=wp), public :: offset = -1.0_wp
character(len=7), public :: color = ''
logical, public :: color_set = .false.
logical, public :: defined = .false.

type, public ::  config_legend_t

Legend configuration (maps to Vega-Lite config.legend).

Components

Type Visibility Attributes Name Initial
character(len=20), public :: orient = ''
logical, public :: orient_set = .false.
real(kind=wp), public :: label_font_size = -1.0_wp
real(kind=wp), public :: symbol_stroke_width = -1.0_wp
character(len=7), public :: fill_color = ''
logical, public :: fill_color_set = .false.
character(len=7), public :: stroke_color = ''
logical, public :: stroke_color_set = .false.
real(kind=wp), public :: corner_radius = -1.0_wp
real(kind=wp), public :: padding = -1.0_wp
real(kind=wp), public :: frame_alpha = -1.0_wp
logical, public :: defined = .false.

type, public ::  config_t

Top-level Vega-Lite config object.

Components

Type Visibility Attributes Name Initial
character(len=7), public :: background = ''
logical, public :: background_set = .false.
character(len=7), public :: category_colors(10) = ''
integer, public :: category_color_count = 0
type(config_axis_t), public :: axis
type(config_view_t), public :: view
type(config_mark_defaults_t), public :: mark
type(config_title_t), public :: title_config
type(config_legend_t), public :: legend
logical, public :: defined = .false.