Visualization API
The visualization module provides comprehensive plotting and analysis tools for SOMs.
SOM Visualizer
Base class for all visualization methods.
- class torchsom.visualization.base.SOMVisualizer(som, config=None)[source]
Bases:
object
Factory class for handling Self-Organizing Map visualizations.
This class acts as a factory that creates the appropriate topology-specific visualizer (HexagonalVisualizer or RectangularVisualizer) based on the SOM’s topology.
- Parameters:
som (BaseSOM)
config (VisualizationConfig | None)
- plot_all(quantization_errors, topographic_errors, data, target, component_names=None, save_path=None, training_errors=True, distance_map=True, hit_map=True, score_map=True, rank_map=True, metric_map=True, component_planes=True)[source]
Plot all visualizations using topology-specific visualizer.
- Parameters:
quantization_errors (list[float]) – List of quantization errors [epochs]
topographic_errors (list[float]) – List of topographic errors [epochs]
data (torch.Tensor) – Input data tensor [batch_size, n_features]
target (torch.Tensor) – Labels tensor for data points [batch_size]
component_names (Optional[list[str]]) – Names for each component/feature
save_path (Optional[Union[str, Path]]) – Path to save visualizations
training_errors (bool) – Whether to plot training learning curves
distance_map (bool) – Whether to plot distance map
hit_map (bool) – Whether to plot hit map
score_map (bool) – Whether to plot score map
rank_map (bool) – Whether to plot rank map
metric_map (bool) – Whether to plot metric map
component_planes (bool) – Whether to plot component planes
- Return type:
None
- plot_classification_map(*args, **kwargs)[source]
Plot classification map using topology-specific visualizer.
- Parameters:
args (Any)
kwargs (Any)
- Return type:
None
- plot_cluster_map(*args, **kwargs)[source]
Plot clustering results overlaid on SOM grid.
- Parameters:
args (Any)
kwargs (Any)
- Return type:
None
- plot_cluster_quality_comparison(*args, **kwargs)[source]
Compare clustering quality metrics across different methods.
- Parameters:
args (Any)
kwargs (Any)
- Return type:
None
- plot_clustering_comparison_grid(*args, **kwargs)[source]
Plot a grid comparing different clustering methods and feature spaces.
- Parameters:
args (Any)
kwargs (Any)
- Return type:
None
- plot_component_planes(*args, **kwargs)[source]
Plot component planes using topology-specific visualizer.
- Parameters:
args (Any)
kwargs (Any)
- Return type:
None
- plot_distance_map(*args, **kwargs)[source]
Plot distance map using topology-specific visualizer.
- Parameters:
args (Any)
kwargs (Any)
- Return type:
None
- plot_elbow_analysis(*args, **kwargs)[source]
Plot elbow analysis for optimal K selection in K-means.
- Parameters:
args (Any)
kwargs (Any)
- Return type:
None
- plot_grid(*args, **kwargs)[source]
Plot grid visualization using topology-specific visualizer.
- Parameters:
args (Any)
kwargs (Any)
- Return type:
None
- plot_hit_map(*args, **kwargs)[source]
Plot hit map using topology-specific visualizer.
- Parameters:
args (Any)
kwargs (Any)
- Return type:
None
- plot_metric_map(*args, **kwargs)[source]
Plot metric map using topology-specific visualizer.
- Parameters:
args (Any)
kwargs (Any)
- Return type:
None
- plot_rank_map(*args, **kwargs)[source]
Plot rank map using topology-specific visualizer.
- Parameters:
args (Any)
kwargs (Any)
- Return type:
None
- plot_score_map(*args, **kwargs)[source]
Plot score map using topology-specific visualizer.
- Parameters:
args (Any)
kwargs (Any)
- Return type:
None
Visualization Configuration
Configuration settings for SOM visualizations.
- class torchsom.visualization.config.VisualizationConfig(figsize=(12, 8), fontsize=<factory>, fontweight=<factory>, cmap='viridis', dpi=300, grid_alpha=0.3, colorbar_pad=0.01, save_format='png', hex_radius=0.5, hex_border_color='black', hex_border_width=0.3)[source]
Bases:
object
Configuration settings for SOM visualizations.
- Parameters:
figsize (tuple[int, int])
fontsize (dict[str, int])
fontweight (dict[str, str])
cmap (str)
dpi (int)
grid_alpha (float)
colorbar_pad (float)
save_format (str)
hex_radius (float)
hex_border_color (str)
hex_border_width (float)
- cmap: str = 'viridis'
- colorbar_pad: float = 0.01
- dpi: int = 300
- figsize: tuple[int, int] = (12, 8)
- fontsize: dict[str, int]
- fontweight: dict[str, str]
- grid_alpha: float = 0.3
- hex_border_color: str = 'black'
- hex_border_width: float = 0.3
- hex_radius: float = 0.5
- save_format: str = 'png'
Supported Formats
PNG (default, web-friendly)
PDF (vector, publication-ready)
SVG (vector, scalable)
JPEG (compressed, smaller files)