Module visualization

Module visualization 

Source
Expand description

Visualization utilities for metrics

This module provides tools for visualizing metrics results, including confusion matrices, ROC curves, precision-recall curves, calibration plots, and learning curves.

The visualization module is designed to work with popular Rust plotting libraries and provides data structures that can be easily converted to formats used by those libraries.

§Basic Usage

use scirs2_metrics::visualization::{
    VisualizationData, VisualizationMetadata, PlotType, PlottingBackend, backends
};

// Create visualization data
let mut data = VisualizationData::new();
data.add_series("x", vec![1.0, 2.0, 3.0, 4.0, 5.0]);
data.add_series("y", vec![2.0, 4.0, 1.0, 3.0, 7.0]);

// Create visualization metadata
let mut metadata = VisualizationMetadata::new("Example Plot");
metadata.set_plot_type(PlotType::Line);
metadata.set_x_label("X Axis");
metadata.set_y_label("Y Axis");

// Get the default backend
let backend = backends::default_backend();

// Save the visualization to a file
backend.save_to_file(&data, &metadata, &Default::default(), "plot.html").unwrap();

§Using Specific Visualizers

The module provides specialized visualizers for common metrics visualizations:

use scirs2_core::ndarray::array;
use scirs2_metrics::classification::confusion_matrix;
use scirs2_metrics::visualization::{
    confusion_matrix::confusion_matrix_visualization,
    PlottingBackend, backends
};

// Example data
let y_true = array![0, 1, 2, 0, 1, 2];
let y_pred = array![0, 2, 1, 0, 0, 2];

// Create confusion matrix
let (cm, _classes) = confusion_matrix(&y_true, &y_pred, None).unwrap();
let cm_f64 = cm.mapv(|x| x as f64);

// Create visualizer
let visualizer = confusion_matrix_visualization(
    cm_f64,
    Some(vec!["Class 0".to_string(), "Class 1".to_string(), "Class 2".to_string()]),
    false
);

// Get data and metadata
let viz_data = visualizer.prepare_data().unwrap();
let viz_metadata = visualizer.get_metadata();

// Save the visualization
let backend = backends::default_backend();
backend.save_to_file(&viz_data, &viz_metadata, &Default::default(), "confusion_matrix.html").unwrap();

Re-exports§

pub use advanced_interactive::CollaborationConfig;
pub use advanced_interactive::CollaborationManager;
pub use advanced_interactive::DashboardConfig;
pub use advanced_interactive::DashboardState;
pub use advanced_interactive::DataSource;
pub use advanced_interactive::EventResponse;
pub use advanced_interactive::EventSystem;
pub use advanced_interactive::ExportConfig;
pub use advanced_interactive::InteractionConfig;
pub use advanced_interactive::InteractiveDashboard;
pub use advanced_interactive::InteractiveWidget;
pub use advanced_interactive::LayoutConfig;
pub use advanced_interactive::LayoutManager;
pub use advanced_interactive::RealtimeConfig;
pub use advanced_interactive::RenderingEngine;
pub use advanced_interactive::ThemeConfig;
pub use advanced_interactive::UpdateManager;
pub use advanced_interactive::WidgetConfig;
pub use advanced_interactive::WidgetEvent;
pub use advanced_interactive::WidgetType;
pub use backends::PlottingBackend;
pub use calibration::CalibrationVisualizer;
pub use confusion_matrix::ConfusionMatrixVisualizer;
pub use interactive::interactive_roc_curve_from_labels;
pub use interactive::interactive_roc_curve_visualization;
pub use interactive::InteractiveOptions;
pub use interactive::InteractiveROCVisualizer;
pub use learning_curve::LearningCurveVisualizer;
pub use precision_recall::PrecisionRecallVisualizer;
pub use roc_curve::ROCCurveVisualizer;
pub use helpers::*;

Modules§

advanced_interactive
Advanced interactive visualization with real-time capabilities
backends
Backend adapters for visualization
calibration
Calibration curve visualization
confusion_matrix
Confusion matrix visualization
helpers
Helper functions for visualization
interactive
Interactive visualization utilities
learning_curve
Learning curve visualization
precision_recall
Precision-Recall curve visualization
roc_curve
ROC curve visualization

Structs§

VisualizationData
Data structure for visualization
VisualizationMetadata
Metadata for visualization
VisualizationOptions
Options for visualization

Enums§

ColorMap
Color maps for heatmaps
PlotType
Plot types supported by the visualizers

Traits§

MetricVisualizer
Common trait for metric visualizers
Visualization
Helper functions for saving visualizations