| | import matplotlib.pyplot as plt |
| | import numpy as np |
| |
|
| | def create_final_charts(): |
| | """Create professional charts for investor presentation""" |
| | |
| | |
| | systems = ['Visual Narrator', 'Claude Opus', 'GPT-4 Turbo'] |
| | times_ms = [2.4, 3536.3, 2343.8] |
| | semantic_scores = [71.6, 64.2, 66.8] |
| | narrative_scores = [100.0, 87.5, 87.5] |
| | |
| | |
| | plt.style.use('seaborn-v0_8') |
| | fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2, figsize=(15, 10)) |
| | |
| | |
| | colors = ['#00D4AA', '#FF6B6B', '#4E79A7'] |
| | bars1 = ax1.bar(systems, times_ms, color=colors, alpha=0.8, edgecolor='black', linewidth=1.2) |
| | ax1.set_yscale('log') |
| | ax1.set_ylabel('Processing Time (ms, log scale)', fontweight='bold') |
| | ax1.set_title('Speed: Real-time vs Batch Processing', fontsize=14, fontweight='bold') |
| | ax1.grid(True, alpha=0.3, axis='y') |
| | |
| | for bar, time_val in zip(bars1, times_ms): |
| | height = bar.get_height() |
| | ax1.text(bar.get_x() + bar.get_width()/2., height * 1.1, |
| | f'{time_val:.1f}ms', ha='center', va='bottom', fontweight='bold') |
| | |
| | |
| | x_pos = np.arange(len(systems)) |
| | width = 0.35 |
| | |
| | bars2a = ax2.bar(x_pos - width/2, semantic_scores, width, label='Semantic', color='#2E86AB', alpha=0.8) |
| | bars2b = ax2.bar(x_pos + width/2, narrative_scores, width, label='Narrative', color='#A23B72', alpha=0.8) |
| | |
| | ax2.set_ylabel('Quality Score (%)', fontweight='bold') |
| | ax2.set_title('Quality: Semantic & Narrative Accuracy', fontsize=14, fontweight='bold') |
| | ax2.set_xticks(x_pos) |
| | ax2.set_xticklabels(systems) |
| | ax2.legend() |
| | ax2.grid(True, alpha=0.3, axis='y') |
| | |
| | |
| | speed_multiplier = [1, times_ms[1]/times_ms[0], times_ms[2]/times_ms[0]] |
| | bars3 = ax3.bar(systems, speed_multiplier, color=colors, alpha=0.8, edgecolor='black', linewidth=1.2) |
| | ax3.set_ylabel('Speed Multiplier (x faster)', fontweight='bold') |
| | ax3.set_title(f'Visual Narrator: {speed_multiplier[1]:.0f}x Faster', fontsize=14, fontweight='bold') |
| | ax3.grid(True, alpha=0.3, axis='y') |
| | |
| | for bar, multiplier in zip(bars3, speed_multiplier): |
| | height = bar.get_height() |
| | ax3.text(bar.get_x() + bar.get_width()/2., height * 1.05, |
| | f'{multiplier:.0f}x', ha='center', va='bottom', fontweight='bold', fontsize=12) |
| | |
| | |
| | combined_scores = [semantic_scores[i] + narrative_scores[i] for i in range(len(systems))] |
| | bars4 = ax4.bar(systems, combined_scores, color=colors, alpha=0.8, edgecolor='black', linewidth=1.2) |
| | ax4.set_ylabel('Combined Quality Score', fontweight='bold') |
| | ax4.set_title('Overall Quality Leadership', fontsize=14, fontweight='bold') |
| | ax4.grid(True, alpha=0.3, axis='y') |
| | |
| | for bar, score in zip(bars4, combined_scores): |
| | height = bar.get_height() |
| | ax4.text(bar.get_x() + bar.get_width()/2., height * 1.01, |
| | f'{score:.1f}', ha='center', va='bottom', fontweight='bold') |
| | |
| | |
| | for ax in [ax1, ax2, ax3, ax4]: |
| | ax.spines['top'].set_visible(False) |
| | ax.spines['right'].set_visible(False) |
| | |
| | plt.tight_layout() |
| | plt.savefig('final_investor_charts.png', dpi=300, bbox_inches='tight', facecolor='white') |
| | print("✅ Saved final investor charts: final_investor_charts.png") |
| | |
| | |
| | print("\n🎯 KEY INVESTOR INSIGHTS") |
| | print(f"• Speed Advantage: {speed_multiplier[1]:.0f}x faster than premium AI") |
| | print(f"• Quality Leadership: #1 in both semantic and narrative quality") |
| | print(f"• Cost Advantage: Infinite scale at zero marginal cost") |
| | print(f"• Market Creation: Only solution for real-time applications") |
| |
|
| | if __name__ == "__main__": |
| | create_final_charts() |
| |
|