Visualization
Overview
Empire Chain provides powerful visualization capabilities through its visualizer
module. This guide covers how to create various types of visualizations for your data and AI pipeline results.
Basic Visualizations
Data Plots
from empire_chain.visualizer import DataVisualizer
import pandas as pd
# Create sample data
data = pd.DataFrame({
'x': range(10),
'y': [x**2 for x in range(10)]
})
# Initialize visualizer
viz = DataVisualizer(data)
# Create different types of plots
viz.line_plot('x', 'y', title='Square Function')
viz.scatter_plot('x', 'y', title='Data Points')
viz.bar_plot('x', 'y', title='Bar Chart')
Interactive Plots
# Create interactive plot
viz.interactive_plot(
'x', 'y',
plot_type='line',
hover_data=['x', 'y']
)
# Create dashboard
viz.create_dashboard([
('line', {'x': 'x', 'y': 'y'}),
('scatter', {'x': 'x', 'y': 'y'})
])
AI Pipeline Visualization
RAG Visualization
from empire_chain.visualizer import RAGVisualizer
# Initialize RAG visualizer
rag_viz = RAGVisualizer(rag_system)
# Visualize retrieval process
rag_viz.show_retrieval_path()
# Visualize document similarities
rag_viz.plot_document_similarities()
# Show attention heatmap
rag_viz.attention_heatmap()
Model Performance
from empire_chain.visualizer import ModelVisualizer
# Initialize model visualizer
model_viz = ModelVisualizer(model)
# Plot training metrics
model_viz.plot_training_history()
# Show confusion matrix
model_viz.confusion_matrix()
# Plot attention weights
model_viz.attention_weights()
Advanced Features
Custom Styling
# Set global style
viz.set_style({
'theme': 'dark',
'color_palette': ['#FF0000', '#00FF00', '#0000FF'],
'font_family': 'Arial',
'font_size': 12
})
# Apply to specific plot
viz.line_plot(
'x', 'y',
style={
'line_color': '#FF0000',
'line_width': 2,
'marker_size': 8
}
)
Animation
# Create animated plot
viz.animate_plot(
'x', 'y',
frames=range(10),
title='Animation'
)
# Save animation
viz.save_animation('animation.gif')
Export Options
# Save as static image
viz.save_plot('plot.png', dpi=300)
# Export as interactive HTML
viz.export_interactive('plot.html')
# Export dashboard
viz.export_dashboard('dashboard.html')
Streamlit Integration
from empire_chain.visualizer import StreamlitVisualizer
import streamlit as st
# Initialize Streamlit visualizer
st_viz = StreamlitVisualizer()
# Create interactive components
st_viz.plot_with_controls(
data,
x_column='x',
y_column='y',
plot_types=['line', 'scatter', 'bar']
)
# Create metrics dashboard
st_viz.metrics_dashboard({
'Accuracy': 0.95,
'Precision': 0.92,
'Recall': 0.89
})
Best Practices
Memory Management
Performance Optimization
# Enable GPU acceleration
viz.enable_gpu()
# Use downsampling for large datasets
viz.downsample(factor=0.1)
Responsive Design
# Make plots responsive
viz.set_responsive(True)
# Set breakpoints
viz.set_breakpoints({
'sm': 576,
'md': 768,
'lg': 992,
'xl': 1200
})
Examples
Complex Dashboard
# Create multi-panel dashboard
viz.create_complex_dashboard({
'top': [
('metrics', {'values': {'Accuracy': 0.95}}),
('line', {'x': 'x', 'y': 'y'})
],
'bottom': [
('heatmap', {'data': correlation_matrix}),
('scatter', {'x': 'x', 'y': 'y'})
]
})