nirs4all.visualization.charts.config module

ChartConfig - Configuration for chart appearance and behavior.

Provides customization options for colors, fonts, and figure sizes. All parameters have sensible defaults for seamless usage.

class nirs4all.visualization.charts.config.ChartConfig(colormap: str = 'viridis', heatmap_colormap: str = 'RdYlGn', partition_colors: Dict[str, str] | None = None, font_family: str | None = None, title_fontsize: int = 14, label_fontsize: int = 10, tick_fontsize: int = 9, legend_fontsize: int = 9, annotation_fontsize: int = 9, figsize_small: tuple = (10, 4), figsize_medium: tuple = (12, 8), figsize_large: tuple = (16, 10), dpi: int = 300, alpha: float = 0.7)[source]

Bases: object

Configuration for chart appearance and behavior.

Provides customization options for colors, fonts, and figure sizes. All parameters have sensible defaults for seamless usage.

colormap

Matplotlib colormap name for gradients (default: ‘viridis’).

Type:

str

heatmap_colormap

Colormap for heatmaps (default: ‘RdYlGn’).

Type:

str

partition_colors

Dict mapping partition names to colors.

Type:

Dict[str, str] | None

font_family

Font family for all text (default: matplotlib default).

Type:

str | None

title_fontsize

Font size for titles (default: 14).

Type:

int

label_fontsize

Font size for axis labels (default: 10).

Type:

int

tick_fontsize

Font size for tick labels (default: 9).

Type:

int

legend_fontsize

Font size for legend text (default: 9).

Type:

int

annotation_fontsize

Font size for text annotations inside charts (default: 9).

Type:

int

figsize_small

Small figure size (default: (10, 6)).

Type:

tuple

figsize_medium

Medium figure size (default: (12, 8)).

Type:

tuple

figsize_large

Large figure size (default: (16, 10)).

Type:

tuple

dpi

Output resolution (default: 300).

Type:

int

alpha

Default alpha for plot elements (default: 0.7).

Type:

float

__post_init__()[source]

Initialize default partition colors if not provided.

alpha: float = 0.7
annotation_fontsize: int = 9
apply_font_settings() None[source]

Apply font settings to matplotlib rcParams.

colormap: str = 'viridis'
dpi: int = 300
figsize_large: tuple = (16, 10)
figsize_medium: tuple = (12, 8)
figsize_small: tuple = (10, 4)
font_family: str | None = None
get_figsize(size: str = 'medium') tuple[source]

Get figure size by name.

Parameters:

size – Size name (‘small’, ‘medium’, ‘large’).

Returns:

Tuple of (width, height).

heatmap_colormap: str = 'RdYlGn'
label_fontsize: int = 10
legend_fontsize: int = 9
partition_colors: Dict[str, str] | None = None
tick_fontsize: int = 9
title_fontsize: int = 14