Response Visualization Examples
Overview
This document provides comprehensive examples of using the Response Visualization System for different types of content and use cases.
Basic Examples
Numerical Data Visualization
from packages.rag.response_visualization import ResponseVisualizationSystem, VisualizationConfig
# Create system
config = VisualizationConfig(interactive=True, accessibility=True)
system = ResponseVisualizationSystem(config)
# Numerical data content
content = """
Sales Performance Q3 2024:
- Revenue: $2.5M (25% increase)
- Customer acquisition: 500 new customers
- Market share: 15% (up from 12%)
- Customer satisfaction: 4.8/5
"""
# Generate visualization
result = await system.process_response(content, DeviceType.DESKTOP)
print(f"Visualization type: {result.visualization_type}") # BAR_CHART
print(f"Content: {result.content}") # HTML with interactive bar chart
Process Workflow Visualization
# Process workflow content
content = """
Customer Onboarding Process:
1. Initial Contact
- Customer submits inquiry
- Sales team responds within 2 hours
- Initial needs assessment
2. Proposal Development
- Custom solution designed
- Pricing proposal created
- Technical specifications prepared
3. Implementation
- Project kickoff meeting
- System configuration
- User training provided
"""
result = await system.process_response(content, DeviceType.DESKTOP)
print(f"Visualization type: {result.visualization_type}") # FLOWCHART
Comparison Analysis
# Comparison content
content = """
Product Comparison: Option A vs Option B
Feature Comparison:
- Performance: A (95%) vs B (88%)
- Cost: A ($10K/month) vs B ($7K/month)
- Scalability: A (High) vs B (Medium)
- Support: A (24/7) vs B (Business hours)
"""
result = await system.process_response(content, DeviceType.DESKTOP)
print(f"Visualization type: {result.visualization_type}") # COMPARISON_TABLE
Advanced Examples
Timeline Visualization
# Timeline content
content = """
Project Timeline Q4 2024:
October 2024:
- Week 1: Project kickoff
- Week 2: Requirements gathering
- Week 3: Technical architecture
- Week 4: Development setup
November 2024:
- Week 1: Core development
- Week 2: Integration testing
- Week 3: UI development
- Week 4: Security audit
December 2024:
- Week 1: User acceptance testing
- Week 2: Performance optimization
- Week 3: Production deployment
- Week 4: Go-live and monitoring
"""
result = await system.process_response(content, DeviceType.DESKTOP)
print(f"Visualization type: {result.visualization_type}") # TIMELINE
Hierarchical Structure
# Hierarchical content
content = """
Organizational Structure:
Executive Level:
- CEO: Sarah Johnson
- CTO: Michael Chen
- CFO: Lisa Rodriguez
Department Heads:
- Engineering: 45 employees
- Backend Team: 20 developers
- Frontend Team: 15 developers
- DevOps Team: 10 engineers
- Sales: 25 employees
- Enterprise Sales: 10 reps
- SMB Sales: 15 reps
"""
result = await system.process_response(content, DeviceType.DESKTOP)
print(f"Visualization type: {result.visualization_type}") # HIERARCHY_TREE
Interactive Examples
Interactive Dashboard
# Interactive content with drill-down capabilities
content = """
Interactive Sales Dashboard:
Key Metrics (click to drill down):
- Revenue: $2.5M
- Customers: 500
- Growth: 25%
Regional Breakdown (hover for details):
- North America: $1.2M (48%)
- Europe: $800K (32%)
- Asia-Pacific: $500K (20%)
Monthly Trends (expand for details):
- January: $200K
- February: $220K
- March: $250K
"""
result = await system.process_response(content, DeviceType.DESKTOP)
print(f"Interactive elements: {result.accessibility_info}")
Expandable Sections
# Content with expandable sections
content = """
Technical Documentation:
## API Endpoints (expand for details)
- GET /api/users
- POST /api/users
- PUT /api/users/{id}
- DELETE /api/users/{id}
## Database Schema (expand for details)
- Users table
- Orders table
- Products table
## Configuration (expand for details)
- Environment variables
- Database settings
- Security settings
"""
result = await system.process_response(content, DeviceType.DESKTOP)
# Will include expandable sections for better organization
Responsive Design Examples
Mobile Optimization
# Test on mobile device
result = await system.process_response(content, DeviceType.MOBILE)
print(f"Responsive breakpoints: {result.responsive_breakpoints}")
# Check mobile-specific optimizations
mobile_breakpoint = result.responsive_breakpoints.get(DeviceType.MOBILE)
print(f"Mobile width: {mobile_breakpoint['width']}")
print(f"Touch target size: {mobile_breakpoint['touch_target_size']}")
Tablet Optimization
# Test on tablet device
result = await system.process_response(content, DeviceType.TABLET)
tablet_breakpoint = result.responsive_breakpoints.get(DeviceType.TABLET)
print(f"Tablet layout: {tablet_breakpoint['layout_type']}")
print(f"Grid columns: {tablet_breakpoint['grid_columns']}")
Export Examples
HTML Export
from packages.rag.export_capabilities import ExportCapabilitiesSystem, ExportFormat
export_system = ExportCapabilitiesSystem()
# Export as HTML
result = await export_system.export_visualization(
visualization_content,
ExportFormat.HTML,
"output.html"
)
print(f"Export success: {result.success}")
print(f"File size: {result.file_size} bytes")
Multiple Format Export
# Export in multiple formats
formats = [ExportFormat.HTML, ExportFormat.PDF, ExportFormat.JSON]
for format_type in formats:
result = await export_system.export_visualization(
visualization_content,
format_type,
f"output.{format_type.value}"
)
print(f"{format_type.value}: {result.success}")
Batch Export
# Batch export multiple visualizations
visualizations = [
{"content": "Visualization 1", "title": "Sales Data"},
{"content": "Visualization 2", "title": "Customer Metrics"},
{"content": "Visualization 3", "title": "Performance Trends"}
]
results = await export_system.batch_export_visualizations(
visualizations,
[ExportFormat.HTML, ExportFormat.PDF],
"output_directory"
)
print(f"Exported {len(results)} files")
Accessibility Examples
Screen Reader Support
# Check accessibility features
result = await system.process_response(content, DeviceType.DESKTOP)
print(f"Screen reader compatible: {result.accessibility_info['screen_reader_compatible']}")
print(f"Keyboard navigable: {result.accessibility_info['keyboard_navigable']}")
print(f"Alt text: {result.accessibility_info['alt_text']}")
print(f"ARIA label: {result.accessibility_info['aria_label']}")
High Contrast Mode
# Generate high contrast version
config = VisualizationConfig(
theme="high_contrast",
color_scheme="high_contrast",
accessibility=True
)
system = ResponseVisualizationSystem(config)
result = await system.process_response(content, DeviceType.DESKTOP)
# Check contrast ratio
contrast_ratio = result.accessibility_info['color_contrast_ratio']
print(f"Contrast ratio: {contrast_ratio}")
print(f"WCAG AA compliant: {contrast_ratio >= 4.5}")
Analytics Examples
Usage Analytics
# Get analytics
analytics = await system.get_analytics()
print(f"Total visualizations: {analytics['total_visualizations']}")
print(f"Visualization types: {analytics['visualization_types']}")
print(f"Accessibility usage: {analytics['accessibility_usage']}")
print(f"Export usage: {analytics['export_usage']}")
Performance Monitoring
import time
# Monitor performance
start_time = time.time()
result = await system.process_response(content, DeviceType.DESKTOP)
end_time = time.time()
processing_time = end_time - start_time
print(f"Processing time: {processing_time:.2f} seconds")
print(f"Content length: {len(result.content)} characters")
Integration Examples
With Structured Formatting
from packages.rag.structured_formatting import StructuredFormattingSystem, FormattingConfig
# Create formatting system
format_config = FormattingConfig(include_toc=True, responsive=True)
format_system = StructuredFormattingSystem(format_config)
# Format content first
formatted_response = await format_system.format_response(content)
# Then generate visualization
result = await system.process_response(content, DeviceType.DESKTOP)
# Combine results
combined_content = formatted_response.content + result.content
With Responsive Design
from packages.rag.responsive_design import ResponsiveDesignSystem
# Create responsive system
responsive_system = ResponsiveDesignSystem()
# Create responsive layout
content_components = [{"type": "text", "content": content}]
layout = await responsive_system.create_responsive_layout(
content_components,
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",
1920, 1080
)
# Generate responsive CSS
css = await responsive_system.generate_responsive_css(layout)
Error Handling Examples
Graceful Degradation
try:
result = await system.process_response(content, DeviceType.DESKTOP)
if result.content:
print("Visualization generated successfully")
else:
print("No visualization content generated")
except Exception as e:
print(f"Error generating visualization: {e}")
# Fallback to text representation
fallback_content = f"<div class='fallback'>{content}</div>"
Content Validation
# Validate content before processing
def validate_content(content):
if not content or len(content.strip()) == 0:
raise ValueError("Content cannot be empty")
if len(content) > 10000: # 10KB limit
raise ValueError("Content too large for processing")
return True
# Use validation
try:
validate_content(content)
result = await system.process_response(content, DeviceType.DESKTOP)
except ValueError as e:
print(f"Content validation failed: {e}")
Best Practices
Content Preparation
def prepare_content_for_visualization(content):
"""Prepare content for optimal visualization."""
# Clean up content
content = content.strip()
# Add structure if missing
if not content.startswith('#'):
content = f"# {content}"
# Ensure proper formatting
content = content.replace('\n\n', '\n')
return content
# Use prepared content
prepared_content = prepare_content_for_visualization(content)
result = await system.process_response(prepared_content, DeviceType.DESKTOP)
Performance Optimization
# Enable caching for better performance
config = VisualizationConfig(
cache_enabled=True,
cache_ttl=3600, # 1 hour
lazy_loading=True
)
system = ResponseVisualizationSystem(config)
# Process with caching
result = await system.process_response(content, DeviceType.DESKTOP)
These examples demonstrate the comprehensive capabilities of the Response Visualization System and provide practical guidance for implementation in various scenarios.