Skip to content

Visualization API Reference

Complete API documentation for Q-Memetic AI visualization capabilities.

NoosphereVisualizer Class

Main class for creating interactive visualizations of memetic landscapes.

Constructor

class NoosphereVisualizer:
    def __init__(
        self,
        theme: str = "dark",
        color_palette: str = "viridis",
        interactive: bool = True,
        engine_config: Optional[Dict[str, Any]] = None
    ) -> None:
        """
        Initialize noosphere visualizer.

        Args:
            theme: Visualization theme ("dark", "light", "custom")
            color_palette: Color palette for visualizations
            interactive: Enable interactive features
            engine_config: Optional engine configuration
        """

Properties

Property Type Description
theme str Current visualization theme
color_palette str Active color palette
interactive bool Interactive mode enabled
current_layout str Current layout algorithm
animation_enabled bool Animation features enabled
export_format str Default export format

Core Visualization Methods

Network Visualizations

def visualize_entanglement_network(
    self,
    network: EntanglementNetwork,
    layout: str = "force_directed",
    node_size_by: str = "degree",
    edge_width_by: str = "strength",
    highlight_communities: bool = True,
    **kwargs
) -> VisualizationResult:
    """
    Create interactive entanglement network visualization.

    Args:
        network: Entanglement network to visualize
        layout: Layout algorithm ("force_directed", "circular", "hierarchical")
        node_size_by: Property for node sizing
        edge_width_by: Property for edge width
        highlight_communities: Color nodes by community
        **kwargs: Additional visualization parameters

    Returns:
        VisualizationResult: Visualization object and metadata
    """

def plot_network_evolution(
    self,
    network_history: List[EntanglementNetwork],
    time_points: Optional[List[float]] = None,
    animation_speed: float = 1.0
) -> AnimatedVisualization:
    """
    Create animated visualization of network evolution.

    Args:
        network_history: Sequence of network states
        time_points: Optional timestamps for each state
        animation_speed: Animation playback speed

    Returns:
        AnimatedVisualization: Animated network visualization
    """

Example:

from qmemetic_ai.visualization.noosphere import NoosphereVisualizer

# Initialize visualizer
viz = NoosphereVisualizer(
    theme="dark",
    color_palette="plasma",
    interactive=True
)

# Visualize entanglement network
network_viz = viz.visualize_entanglement_network(
    network=entanglement_network,
    layout="force_directed",
    node_size_by="centrality",
    edge_width_by="strength",
    highlight_communities=True,
    min_edge_strength=0.3,
    max_nodes_displayed=200
)

# Display visualization
network_viz.show()

# Save visualization
network_viz.save("network_visualization.html")

Evolution Visualizations

def plot_evolution_landscape(
    self,
    evolution_result: EvolutionResult,
    fitness_surface: bool = True,
    trajectory_overlay: bool = True,
    generation_markers: bool = True
) -> VisualizationResult:
    """
    Visualize evolution fitness landscape.

    Args:
        evolution_result: Results from evolution process
        fitness_surface: Show 3D fitness surface
        trajectory_overlay: Show evolution trajectory
        generation_markers: Mark generation points

    Returns:
        VisualizationResult: Evolution landscape visualization
    """

def animate_evolution_process(
    self,
    evolution_history: List[List[Meme]],
    fitness_history: List[List[float]],
    speed: float = 1.0
) -> AnimatedVisualization:
    """
    Create animated visualization of evolution process.

    Args:
        evolution_history: Population history by generation
        fitness_history: Fitness history by generation
        speed: Animation speed multiplier

    Returns:
        AnimatedVisualization: Animated evolution process
    """

Population Analysis

def plot_population_diversity(
    self,
    populations: List[List[Meme]],
    diversity_metrics: List[str] = None,
    time_series: bool = True
) -> VisualizationResult:
    """
    Visualize population diversity over time.

    Args:
        populations: Sequence of populations
        diversity_metrics: Diversity measures to plot
        time_series: Show as time series plot

    Returns:
        VisualizationResult: Diversity visualization
    """

def create_fitness_distribution(
    self,
    population: List[Meme],
    distribution_type: str = "histogram",
    overlay_statistics: bool = True
) -> VisualizationResult:
    """
    Create fitness distribution visualization.

    Args:
        population: Meme population to analyze
        distribution_type: Type of distribution plot
        overlay_statistics: Show statistical overlays

    Returns:
        VisualizationResult: Fitness distribution plot
    """

Example:

# Evolution landscape
landscape_viz = viz.plot_evolution_landscape(
    evolution_result=evolution_result,
    fitness_surface=True,
    trajectory_overlay=True
)

# Animated evolution
animation = viz.animate_evolution_process(
    evolution_history=generation_populations,
    fitness_history=generation_fitness,
    speed=2.0
)

# Population diversity
diversity_viz = viz.plot_population_diversity(
    populations=generation_populations,
    diversity_metrics=["shannon", "simpson", "semantic"],
    time_series=True
)

# Show all visualizations
landscape_viz.show()
animation.play()
diversity_viz.show()

Semantic Visualizations

Concept Maps

def create_concept_map(
    self,
    memes: List[Meme],
    clustering_method: str = "hierarchical",
    max_concepts: int = 50,
    connection_threshold: float = 0.7
) -> VisualizationResult:
    """
    Create interactive concept map visualization.

    Args:
        memes: Memes to include in concept map
        clustering_method: Method for grouping concepts
        max_concepts: Maximum number of concepts to display
        connection_threshold: Minimum similarity for connections

    Returns:
        VisualizationResult: Interactive concept map
    """

def plot_semantic_embedding(
    self,
    memes: List[Meme],
    reduction_method: str = "umap",
    dimensions: int = 2,
    color_by: str = "cluster",
    **kwargs
) -> VisualizationResult:
    """
    Visualize semantic embeddings in reduced dimensions.

    Args:
        memes: Memes to visualize
        reduction_method: Dimensionality reduction method
        dimensions: Target dimensions (2 or 3)
        color_by: Property for coloring points
        **kwargs: Additional parameters

    Returns:
        VisualizationResult: Semantic embedding visualization
    """

Knowledge Graphs

def build_knowledge_graph(
    self,
    memes: List[Meme],
    relation_types: List[str] = None,
    include_metadata: bool = True,
    layout_algorithm: str = "force_directed"
) -> VisualizationResult:
    """
    Build interactive knowledge graph from memes.

    Args:
        memes: Source memes for knowledge graph
        relation_types: Types of relations to include
        include_metadata: Include metadata as graph properties
        layout_algorithm: Graph layout algorithm

    Returns:
        VisualizationResult: Interactive knowledge graph
    """

def visualize_topic_evolution(
    self,
    meme_sequences: List[List[Meme]],
    topic_model: Any,
    time_points: Optional[List[str]] = None
) -> VisualizationResult:
    """
    Visualize evolution of topics over time.

    Args:
        meme_sequences: Meme sequences by time period
        topic_model: Trained topic model
        time_points: Optional time point labels

    Returns:
        VisualizationResult: Topic evolution visualization
    """

Example:

# Concept map
concept_map = viz.create_concept_map(
    memes=evolved_memes,
    clustering_method="dbscan",
    max_concepts=30,
    connection_threshold=0.8
)

# Semantic embedding
embedding_viz = viz.plot_semantic_embedding(
    memes=evolved_memes,
    reduction_method="tsne",
    dimensions=3,
    color_by="fitness",
    perplexity=30
)

# Knowledge graph
knowledge_graph = viz.build_knowledge_graph(
    memes=evolved_memes,
    relation_types=["similarity", "entanglement", "evolution"],
    include_metadata=True
)

concept_map.show()
embedding_viz.show()
knowledge_graph.show()

Statistical Visualizations

Performance Metrics

def plot_performance_metrics(
    self,
    metrics_history: Dict[str, List[float]],
    metric_names: Optional[List[str]] = None,
    normalize: bool = True
) -> VisualizationResult:
    """
    Plot performance metrics over time.

    Args:
        metrics_history: Historical metric values
        metric_names: Subset of metrics to plot
        normalize: Normalize metrics to [0,1] range

    Returns:
        VisualizationResult: Performance metrics plot
    """

def create_correlation_matrix(
    self,
    memes: List[Meme],
    properties: List[str],
    method: str = "pearson"
) -> VisualizationResult:
    """
    Create correlation matrix heatmap.

    Args:
        memes: Memes to analyze
        properties: Properties to correlate
        method: Correlation method

    Returns:
        VisualizationResult: Correlation matrix heatmap
    """

Comparative Analysis

def compare_populations(
    self,
    populations: Dict[str, List[Meme]],
    comparison_metrics: List[str],
    visualization_type: str = "radar"
) -> VisualizationResult:
    """
    Compare multiple populations across metrics.

    Args:
        populations: Named populations to compare
        comparison_metrics: Metrics for comparison
        visualization_type: Type of comparison plot

    Returns:
        VisualizationResult: Population comparison visualization
    """

def benchmark_algorithms(
    self,
    algorithm_results: Dict[str, EvolutionResult],
    benchmark_metrics: List[str]
) -> VisualizationResult:
    """
    Benchmark and compare algorithm performance.

    Args:
        algorithm_results: Results from different algorithms
        benchmark_metrics: Metrics for benchmarking

    Returns:
        VisualizationResult: Algorithm benchmark visualization
    """

Example:

# Performance metrics
metrics = {
    "fitness": [0.3, 0.5, 0.7, 0.8, 0.9],
    "diversity": [0.9, 0.8, 0.7, 0.6, 0.5],
    "novelty": [0.6, 0.7, 0.8, 0.8, 0.9]
}

performance_viz = viz.plot_performance_metrics(
    metrics_history=metrics,
    normalize=True
)

# Population comparison
populations = {
    "Random Search": random_population,
    "Genetic Algorithm": ga_population,
    "Memetic Algorithm": ma_population
}

comparison_viz = viz.compare_populations(
    populations=populations,
    comparison_metrics=["fitness", "diversity", "convergence_speed"],
    visualization_type="box_plot"
)

performance_viz.show()
comparison_viz.show()

Specialized Visualization Classes

NetworkAnalyzer

class NetworkAnalyzer:
    """Specialized network analysis and visualization."""

    def __init__(self, visualizer: NoosphereVisualizer):
        self.visualizer = visualizer
        self.analysis_cache = {}

    def analyze_network_topology(
        self,
        network: EntanglementNetwork
    ) -> Dict[str, Any]:
        """
        Comprehensive network topology analysis.

        Args:
            network: Network to analyze

        Returns:
            Dict[str, Any]: Topology analysis results
        """

    def plot_degree_distribution(
        self,
        network: EntanglementNetwork,
        log_scale: bool = True
    ) -> VisualizationResult:
        """Plot degree distribution with power-law fitting."""

    def visualize_community_structure(
        self,
        network: EntanglementNetwork,
        algorithm: str = "louvain"
    ) -> VisualizationResult:
        """Visualize community structure in network."""

    def plot_network_resilience(
        self,
        network: EntanglementNetwork,
        attack_strategies: List[str]
    ) -> VisualizationResult:
        """Analyze and plot network resilience to attacks."""

EvolutionAnalyzer

class EvolutionAnalyzer:
    """Specialized evolution analysis and visualization."""

    def __init__(self, visualizer: NoosphereVisualizer):
        self.visualizer = visualizer
        self.fitness_landscapes = {}

    def analyze_convergence_patterns(
        self,
        evolution_results: List[EvolutionResult]
    ) -> Dict[str, Any]:
        """
        Analyze convergence patterns across multiple runs.

        Args:
            evolution_results: Results from multiple evolution runs

        Returns:
            Dict[str, Any]: Convergence analysis
        """

    def plot_fitness_landscape(
        self,
        fitness_function: Callable,
        parameter_ranges: Dict[str, Tuple[float, float]],
        resolution: int = 50
    ) -> VisualizationResult:
        """Create 3D fitness landscape visualization."""

    def visualize_genetic_diversity(
        self,
        population_history: List[List[Meme]],
        diversity_measures: List[str]
    ) -> VisualizationResult:
        """Visualize genetic diversity over generations."""

    def plot_selection_pressure(
        self,
        evolution_result: EvolutionResult
    ) -> VisualizationResult:
        """Visualize selection pressure effects."""

Example:

# Network analysis
network_analyzer = NetworkAnalyzer(viz)

topology_analysis = network_analyzer.analyze_network_topology(network)
degree_dist = network_analyzer.plot_degree_distribution(network)
community_viz = network_analyzer.visualize_community_structure(network)

# Evolution analysis
evolution_analyzer = EvolutionAnalyzer(viz)

convergence_analysis = evolution_analyzer.analyze_convergence_patterns(
    [result1, result2, result3]
)

landscape_viz = evolution_analyzer.plot_fitness_landscape(
    fitness_function=custom_fitness,
    parameter_ranges={"x": (-5, 5), "y": (-5, 5)}
)

diversity_viz = evolution_analyzer.visualize_genetic_diversity(
    population_history=generation_populations,
    diversity_measures=["hamming", "semantic", "structural"]
)

CognitiveVisualizer

class CognitiveVisualizer:
    """Visualizations for cognitive models and user preferences."""

    def __init__(self, visualizer: NoosphereVisualizer):
        self.visualizer = visualizer

    def plot_cognitive_profile(
        self,
        cognitive_fingerprint: CognitiveFingerprint,
        radar_chart: bool = True
    ) -> VisualizationResult:
        """
        Visualize cognitive fingerprint profile.

        Args:
            cognitive_fingerprint: User cognitive profile
            radar_chart: Use radar chart format

        Returns:
            VisualizationResult: Cognitive profile visualization
        """

    def visualize_user_preferences(
        self,
        user_profiles: List[CognitiveFingerprint],
        clustering_method: str = "kmeans"
    ) -> VisualizationResult:
        """Visualize and cluster user preference patterns."""

    def plot_personalization_impact(
        self,
        before_personalization: List[Meme],
        after_personalization: List[Meme],
        user_profile: CognitiveFingerprint
    ) -> VisualizationResult:
        """Visualize impact of personalization on meme content."""

Interactive Features

Dashboard Creation

def create_interactive_dashboard(
    self,
    engine: MemeticEngine,
    layout: str = "grid",
    components: Optional[List[str]] = None
) -> InteractiveDashboard:
    """
    Create comprehensive interactive dashboard.

    Args:
        engine: Q-Memetic AI engine instance
        layout: Dashboard layout style
        components: Components to include

    Returns:
        InteractiveDashboard: Interactive dashboard object
    """

class InteractiveDashboard:
    """Interactive dashboard for real-time monitoring."""

    def add_network_view(self, network: EntanglementNetwork) -> None:
        """Add network visualization panel."""

    def add_evolution_monitor(self, evolver: GeneticEvolver) -> None:
        """Add evolution monitoring panel."""

    def add_population_stats(self, population: List[Meme]) -> None:
        """Add population statistics panel."""

    def add_real_time_metrics(self, metrics: Dict[str, float]) -> None:
        """Add real-time metrics display."""

    def serve(self, port: int = 8050, debug: bool = False) -> None:
        """Serve dashboard on web interface."""

Real-time Updates

def enable_real_time_updates(
    self,
    update_frequency: float = 1.0,
    auto_refresh: bool = True
) -> None:
    """
    Enable real-time visualization updates.

    Args:
        update_frequency: Update frequency in seconds
        auto_refresh: Automatically refresh visualizations
    """

def stream_evolution_data(
    self,
    evolution_stream: Iterator[EvolutionUpdate],
    buffer_size: int = 100
) -> StreamingVisualization:
    """
    Create streaming visualization for live evolution data.

    Args:
        evolution_stream: Stream of evolution updates
        buffer_size: Size of data buffer

    Returns:
        StreamingVisualization: Live streaming visualization
    """

Example:

# Create interactive dashboard
dashboard = viz.create_interactive_dashboard(
    engine=engine,
    layout="tabbed",
    components=["network", "evolution", "statistics", "cognitive"]
)

# Add components
dashboard.add_network_view(entanglement_network)
dashboard.add_evolution_monitor(evolver)
dashboard.add_population_stats(current_population)

# Enable real-time updates
viz.enable_real_time_updates(
    update_frequency=2.0,
    auto_refresh=True
)

# Serve dashboard
dashboard.serve(port=8080, debug=True)
print("Dashboard available at http://localhost:8080")

Export and Sharing

Export Options

def export_visualization(
    self,
    visualization: VisualizationResult,
    format: str = "html",
    file_path: Optional[str] = None,
    **export_options
) -> str:
    """
    Export visualization to various formats.

    Args:
        visualization: Visualization to export
        format: Export format ("html", "png", "pdf", "svg", "json")
        file_path: Optional output file path
        **export_options: Format-specific options

    Returns:
        str: Path to exported file
    """

def create_visualization_report(
    self,
    visualizations: List[VisualizationResult],
    report_title: str,
    include_analysis: bool = True
) -> str:
    """
    Create comprehensive visualization report.

    Args:
        visualizations: List of visualizations to include
        report_title: Title for the report
        include_analysis: Include automated analysis

    Returns:
        str: Path to generated report
    """

Sharing and Collaboration

def share_visualization(
    self,
    visualization: VisualizationResult,
    sharing_platform: str,
    permissions: Dict[str, str] = None
) -> str:
    """
    Share visualization on specified platform.

    Args:
        visualization: Visualization to share
        sharing_platform: Platform for sharing
        permissions: Access permissions

    Returns:
        str: Sharing URL
    """

def collaborative_annotation(
    self,
    visualization: VisualizationResult,
    enable_comments: bool = True,
    enable_highlights: bool = True
) -> CollaborativeVisualization:
    """
    Enable collaborative features for visualization.

    Args:
        visualization: Base visualization
        enable_comments: Allow comments
        enable_highlights: Allow highlighting

    Returns:
        CollaborativeVisualization: Enhanced collaborative visualization
    """

Example:

# Export visualizations
network_export = viz.export_visualization(
    visualization=network_viz,
    format="html",
    file_path="network_analysis.html",
    include_controls=True,
    standalone=True
)

evolution_export = viz.export_visualization(
    visualization=evolution_viz,
    format="pdf",
    file_path="evolution_report.pdf",
    dpi=300,
    width=1200,
    height=800
)

# Create comprehensive report
report_path = viz.create_visualization_report(
    visualizations=[network_viz, evolution_viz, diversity_viz],
    report_title="Q-Memetic AI Analysis Report",
    include_analysis=True
)

print(f"Report generated: {report_path}")

Customization and Themes

Theme Management

class ThemeManager:
    """Manage visualization themes and styling."""

    def create_custom_theme(
        self,
        name: str,
        color_scheme: Dict[str, str],
        font_settings: Dict[str, Any],
        layout_options: Dict[str, Any]
    ) -> Theme:
        """Create custom visualization theme."""

    def apply_theme(
        self,
        theme: Union[str, Theme],
        visualizations: List[VisualizationResult]
    ) -> None:
        """Apply theme to visualizations."""

    def get_theme_preview(self, theme: Union[str, Theme]) -> VisualizationResult:
        """Generate theme preview."""

Custom Layouts

def create_custom_layout(
    self,
    layout_name: str,
    layout_function: Callable,
    parameters: Dict[str, Any]
) -> None:
    """
    Register custom layout algorithm.

    Args:
        layout_name: Name for the layout
        layout_function: Layout computation function
        parameters: Layout parameters
    """

def apply_custom_styling(
    self,
    visualization: VisualizationResult,
    css_styles: str,
    javascript_code: Optional[str] = None
) -> VisualizationResult:
    """
    Apply custom CSS and JavaScript to visualization.

    Args:
        visualization: Target visualization
        css_styles: Custom CSS styling
        javascript_code: Optional JavaScript code

    Returns:
        VisualizationResult: Styled visualization
    """

Example:

# Create custom theme
theme_manager = ThemeManager()

custom_theme = theme_manager.create_custom_theme(
    name="research_theme",
    color_scheme={
        "primary": "#2E86AB",
        "secondary": "#A23B72",
        "background": "#F18F01",
        "text": "#C73E1D"
    },
    font_settings={
        "family": "Roboto",
        "size": 12,
        "weight": "normal"
    },
    layout_options={
        "spacing": 1.2,
        "margins": {"top": 50, "bottom": 50, "left": 80, "right": 80}
    }
)

# Apply custom theme
theme_manager.apply_theme(custom_theme, [network_viz, evolution_viz])

# Custom styling
styled_viz = viz.apply_custom_styling(
    visualization=network_viz,
    css_styles="""
        .node { stroke-width: 2px; }
        .edge { opacity: 0.6; }
        .legend { font-size: 14px; }
    """,
    javascript_code="""
        // Custom interaction behaviors
        nodes.on('click', function(d) {
            console.log('Node clicked:', d);
        });
    """
)

Performance Optimization

Efficient Rendering

def optimize_for_large_datasets(
    self,
    max_nodes: int = 1000,
    level_of_detail: bool = True,
    progressive_loading: bool = True
) -> None:
    """
    Optimize visualizations for large datasets.

    Args:
        max_nodes: Maximum nodes to render simultaneously
        level_of_detail: Use level-of-detail rendering
        progressive_loading: Enable progressive data loading
    """

def enable_gpu_acceleration(
    self,
    renderer: str = "webgl",
    fallback: bool = True
) -> None:
    """
    Enable GPU acceleration for visualizations.

    Args:
        renderer: GPU rendering engine
        fallback: Fall back to CPU if GPU unavailable
    """

Memory Management

def manage_visualization_memory(
    self,
    cache_size: int = 100,
    cleanup_frequency: int = 10
) -> None:
    """
    Manage memory usage for visualizations.

    Args:
        cache_size: Maximum visualizations to cache
        cleanup_frequency: Cleanup frequency in operations
    """

For complete integration examples and advanced usage patterns, see the Engine API and Examples Documentation.