Spaces:
Running
Running
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>Poll Results Visualization</title> | |
| <script src="https://cdn.tailwindcss.com"></script> | |
| <script src="https://cdn.jsdelivr.net/npm/chart.js"></script> | |
| <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> | |
| <style> | |
| .chart-container { | |
| position: relative; | |
| height: 300px; | |
| width: 100%; | |
| } | |
| .insight-card { | |
| transition: all 0.3s ease; | |
| } | |
| .insight-card:hover { | |
| transform: translateY(-5px); | |
| box-shadow: 0 10px 20px rgba(0,0,0,0.1); | |
| } | |
| .animate-bar { | |
| animation: grow 1.5s ease-out forwards; | |
| } | |
| @keyframes grow { | |
| from { transform: scaleY(0); } | |
| to { transform: scaleY(1); } | |
| } | |
| </style> | |
| </head> | |
| <body class="bg-gray-50 font-sans"> | |
| <header class="bg-indigo-700 text-white py-6 shadow-lg"> | |
| <div class="container mx-auto px-4"> | |
| <div class="flex justify-between items-center"> | |
| <h1 class="text-3xl font-bold">Poll Insights Dashboard</h1> | |
| <div class="flex items-center space-x-4"> | |
| <span class="hidden md:inline">Last updated: <span id="current-date" class="font-semibold"></span></span> | |
| <button class="bg-white text-indigo-700 px-4 py-2 rounded-lg font-medium hover:bg-indigo-100 transition"> | |
| <i class="fas fa-download mr-2"></i>Export | |
| </button> | |
| </div> | |
| </div> | |
| </div> | |
| </header> | |
| <main class="container mx-auto px-4 py-8"> | |
| <section class="mb-12"> | |
| <div class="bg-white rounded-xl shadow-md p-6 mb-8"> | |
| <h2 class="text-2xl font-semibold text-gray-800 mb-6">2023 Consumer Preferences Survey</h2> | |
| <div class="grid grid-cols-1 md:grid-cols-2 gap-8"> | |
| <div> | |
| <h3 class="text-lg font-medium text-gray-700 mb-4">Survey Overview</h3> | |
| <p class="text-gray-600 mb-4"> | |
| This comprehensive survey was conducted in Q3 2023 with 2,500 participants across all 50 states. | |
| The data reveals shifting consumer behaviors and emerging trends in technology adoption. | |
| </p> | |
| <div class="grid grid-cols-2 gap-4"> | |
| <div class="bg-indigo-50 p-4 rounded-lg"> | |
| <div class="text-indigo-700 text-sm font-medium">Participants</div> | |
| <div class="text-2xl font-bold text-indigo-800">2,500</div> | |
| </div> | |
| <div class="bg-green-50 p-4 rounded-lg"> | |
| <div class="text-green-700 text-sm font-medium">Response Rate</div> | |
| <div class="text-2xl font-bold text-green-800">78%</div> | |
| </div> | |
| </div> | |
| </div> | |
| <div> | |
| <h3 class="text-lg font-medium text-gray-700 mb-4">Key Takeaways</h3> | |
| <ul class="space-y-3 text-gray-600"> | |
| <li class="flex items-start"> | |
| <i class="fas fa-check-circle text-green-500 mt-1 mr-2"></i> | |
| <span>AI adoption has doubled since 2021, with 42% of consumers now using AI tools regularly</span> | |
| </li> | |
| <li class="flex items-start"> | |
| <i class="fas fa-exclamation-triangle text-yellow-500 mt-1 mr-2"></i> | |
| <span>Privacy concerns remain the top barrier to technology adoption (68% of respondents)</span> | |
| </li> | |
| <li class="flex items-start"> | |
| <i class="fas fa-arrow-up text-red-500 mt-1 mr-2"></i> | |
| <span>Apple TV+ shows strong satisfaction with 81% retention rate, though subscriber base remains smaller than competitors</span> | |
| </li> | |
| </ul> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| <section class="grid grid-cols-1 lg:grid-cols-2 gap-8 mb-12"> | |
| <div class="bg-white rounded-xl shadow-md p-6"> | |
| <div class="flex justify-between items-center mb-6"> | |
| <h3 class="text-xl font-semibold text-gray-800">Preferred Streaming Services</h3> | |
| <div class="flex space-x-2"> | |
| <button class="px-3 py-1 bg-gray-100 rounded-lg text-sm">2023</button> | |
| <button class="px-3 py-1 bg-gray-100 rounded-lg text-sm">2022</button> | |
| </div> | |
| </div> | |
| <div class="chart-container"> | |
| <canvas id="streamingChart"></canvas> | |
| </div> | |
| <div class="mt-6"> | |
| <h4 class="font-medium text-gray-700 mb-2">Analysis</h4> | |
| <p class="text-gray-600 text-sm"> | |
| Apple TV+ shows rapid adoption with a customer satisfaction rating of 4.3/5, though its 8% market share | |
| remains below category leaders. The platform's award-winning original content strategy appears to be | |
| resonating with subscribers, driving 23% year-over-year growth. | |
| </p> | |
| </div> | |
| </div> | |
| <div class="bg-white rounded-xl shadow-md p-6"> | |
| <div class="flex justify-between items-center mb-6"> | |
| <h3 class="text-xl font-semibold text-gray-800">Technology Adoption by Age</h3> | |
| <div class="text-indigo-600 font-medium">% of respondents</div> | |
| </div> | |
| <div class="chart-container"> | |
| <canvas id="ageChart"></canvas> | |
| ```html | |
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>Poll Results Visualization</title> | |
| <script src="https://cdn.tailwindcss.com"></script> | |
| <script src="https://cdn.jsdelivr.net/npm/chart.js"></script> | |
| <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> | |
| <style> | |
| .chart-container { | |
| position: relative; | |
| height: 300px; | |
| width: 100%; | |
| } | |
| .insight-card { | |
| transition: all 0.3s ease; | |
| } | |
| .insight-card:hover { | |
| transform: translateY(-5px); | |
| box-shadow: 0 10px 20px rgba(0,0,0,0.1); | |
| } | |
| .animate-bar { | |
| animation: grow 1.5s ease-out forwards; | |
| } | |
| @keyframes grow { | |
| from { transform: scaleY(0); } | |
| to { transform: scaleY(1); } | |
| } | |
| </style> | |
| </head> | |
| <body class="bg-gray-50 font-sans"> | |
| <header class="bg-indigo-700 text-white py-6 shadow-lg"> | |
| <div class="container mx-auto px-4"> | |
| <div class="flex justify-between items-center"> | |
| <h1 class="text-3xl font-bold">Poll Insights Dashboard</h1> | |
| <div class="flex items-center space-x-4"> | |
| <span class="hidden md:inline">Last updated: <span id="current-date" class="font-semibold"></span></span> | |
| <button class="bg-white text-indigo-700 px-4 py-2 rounded-lg font-medium hover:bg-indigo-100 transition"> | |
| <i class="fas fa-download mr-2"></i>Export | |
| </button> | |
| </div> | |
| </div> | |
| </div> | |
| </header> | |
| <main class="container mx-auto px-4 py-8"> | |
| <section class="mb-12"> | |
| <div class="bg-white rounded-xl shadow-md p-6 mb-8"> | |
| <h2 class="text-2xl font-semibold text-gray-800 mb-6">2023 Consumer Preferences Survey</h2> | |
| <div class="grid grid-cols-1 md:grid-cols-2 gap-8"> | |
| <div> | |
| <h3 class="text-lg font-medium text-gray-700 mb-4">Survey Overview</h3> | |
| <p class="text-gray-600 mb-4"> | |
| This comprehensive survey was conducted in Q3 2023 with 2,500 participants across all 50 states. | |
| The data reveals shifting consumer behaviors and emerging trends in technology adoption. | |
| </p> | |
| <div class="grid grid-cols-2 gap-4"> | |
| <div class="bg-indigo-50 p-4 rounded-lg"> | |
| <div class="text-indigo-700 text-sm font-medium">Participants</div> | |
| <div class="text-2xl font-bold text-indigo-800">2,500</div> | |
| </div> | |
| <div class="bg-green-50 p-4 rounded-lg"> | |
| <div class="text-green-700 text-sm font-medium">Response Rate</div> | |
| <div class="text-2xl font-bold text-green-800">78%</div> | |
| </div> | |
| </div> | |
| </div> | |
| <div> | |
| <h3 class="text-lg font-medium text-gray-700 mb-4">Key Takeaways</h3> | |
| <ul class="space-y-3 text-gray-600"> | |
| <li class="flex items-start"> | |
| <i class="fas fa-check-circle text-green-500 mt-1 mr-2"></i> | |
| <span>AI adoption has doubled since 2021, with 42% of consumers now using AI tools regularly</span> | |
| </li> | |
| <li class="flex items-start"> | |
| <i class="fas fa-exclamation-triangle text-yellow-500 mt-1 mr-2"></i> | |
| <span>Privacy concerns remain the top barrier to technology adoption (68% of respondents)</span> | |
| </li> | |
| <li class="flex items-start"> | |
| <i class="fas fa-arrow-up text-red-500 mt-1 mr-2"></i> | |
| <span>Streaming service fatigue is evident with 59% considering reducing subscriptions</span> | |
| </li> | |
| </ul> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| <section class="grid grid-cols-1 lg:grid-cols-2 gap-8 mb-12"> | |
| <div class="bg-white rounded-xl shadow-md p-6"> | |
| <div class="flex justify-between items-center mb-6"> | |
| <h3 class="text-xl font-semibold text-gray-800">Preferred Streaming Services</h3> | |
| <div class="flex space-x-2"> | |
| <button class="px-3 py-1 bg-gray-100 rounded-lg text-sm">2023</button> | |
| <button class="px-3 py-1 bg-gray-100 rounded-lg text-sm">2022</button> | |
| </div> | |
| </div> | |
| <div class="chart-container"> | |
| <canvas id="streamingChart"></canvas> | |
| </div> | |
| <div class="mt-6"> | |
| <h4 class="font-medium text-gray-700 mb-2">Analysis</h4> | |
| <p class="text-gray-600 text-sm"> | |
| Netflix maintains its lead but shows signs of plateauing (down 3% from 2022). | |
| Disney+ continues strong growth (+7%), while newer entrants like Apple TV+ are gaining traction. | |
| The "Other" category's growth suggests market fragmentation. | |
| </p> | |
| </div> | |
| </div> | |
| <div class="bg-white rounded-xl shadow-md p-6"> | |
| <div class="flex justify-between items-center mb-6"> | |
| <h3 class="text-xl font-semibold text-gray-800">Technology Adoption by Age</h3> | |
| <div class="text-indigo-600 font-medium">% of respondents</div> | |
| </div> | |
| <div class="chart-container"> | |
| <canvas id="ageChart"></canvas> | |
| <script> | |
| // Age Group Bar Chart | |
| const ageCtx = document.getElementById('ageChart').getContext('2d'); | |
| const ageChart = new Chart(ageCtx, { | |
| type: 'bar', | |
| data: { | |
| labels: ['18-24', '25-34', '35-44', '45-54', '55-64', '65+'], | |
| datasets: [{ | |
| label: 'Technology Adoption Rate (%)', | |
| data: [89, 82, 75, 63, 47, 31], | |
| backgroundColor: [ | |
| 'rgba(79, 70, 229, 0.7)', | |
| 'rgba(99, 102, 241, 0.7)', | |
| 'rgba(129, 140, 248, 0.7)', | |
| 'rgba(165, 180, 252, 0.7)', | |
| 'rgba(199, 210, 254, 0.7)', | |
| 'rgba(224, 231, 255, 0.7)' | |
| ], | |
| borderColor: [ | |
| 'rgba(79, 70, 229, 1)', | |
| 'rgba(99, 102, 241, 1)', | |
| 'rgba(129, 140, 248, 1)', | |
| 'rgba(165, 180, 252, 1)', | |
| 'rgba(199, 210, 254, 1)', | |
| 'rgba(224, 231, 255, 1)' | |
| ], | |
| borderWidth: 1 | |
| }] | |
| }, | |
| options: { | |
| responsive: true, | |
| maintainAspectRatio: false, | |
| plugins: { | |
| legend: { | |
| display: true, | |
| position: 'top', | |
| }, | |
| tooltip: { | |
| callbacks: { | |
| label: function(context) { | |
| return context.parsed.y + '% adoption'; | |
| } | |
| } | |
| } | |
| }, | |
| scales: { | |
| y: { | |
| beginAtZero: true, | |
| max: 100, | |
| title: { | |
| display: true, | |
| text: 'Adoption Rate (%)' | |
| }, | |
| ticks: { | |
| callback: function(value) { | |
| return value + '%'; | |
| } | |
| } | |
| } | |
| } | |
| } | |
| }); | |
| // Age Group Chart | |
| const ageCtx = document.getElementById('ageChart').getContext('2d'); | |
| const ageChart = new Chart(ageCtx, { | |
| type: 'radar', | |
| data: { | |
| labels: ['AI Tools', 'VR/AR', 'Smart Home', 'Wearables', '5G Devices'], | |
| datasets: [ | |
| { | |
| label: '18-34', | |
| data: [58, 42, 51, 47, 63], | |
| backgroundColor: 'rgba(79, 70, 229, 0.2)', | |
| borderColor: 'rgba(79, 70, 229, 1)', | |
| borderWidth: 2, | |
| pointBackgroundColor: 'rgba(79, 70, 229, 1)' | |
| }, | |
| { | |
| label: '35-54', | |
| data: [36, 28, 49, 38, 57], | |
| backgroundColor: 'rgba(99, 102, 241, 0.2)', | |
| borderColor: 'rgba(99, 102, 241, 1)', | |
| borderWidth: 2, | |
| pointBackgroundColor: 'rgba(99, 102, 241, 1)' | |
| }, | |
| { | |
| label: '55+', | |
| data: [19, 11, 33, 22, 41], | |
| backgroundColor: 'rgba(129, 140, 248, 0.2)', | |
| borderColor: 'rgba(129, 140, 248, 1)', | |
| borderWidth: 2, | |
| pointBackgroundColor: 'rgba(129, 140, 248, 1)' | |
| } | |
| ] | |
| }, | |
| options: { | |
| responsive: true, | |
| maintainAspectRatio: false, | |
| plugins: { | |
| legend: { | |
| position: 'bottom' | |
| }, | |
| tooltip: { | |
| callbacks: { | |
| label: function(context) { | |
| return context.dataset.label + ': ' + context.raw + '%'; | |
| } | |
| } | |
| } | |
| }, | |
| scales: { | |
| r: { | |
| angleLines: { | |
| display: true | |
| }, | |
| suggestedMin: 0, | |
| suggestedMax: 70, | |
| ticks: { | |
| callback: function(value) { | |
| return value + '%'; | |
| }, | |
| stepSize: 20 | |
| } | |
| } | |
| } | |
| } | |
| }); | |
| </script> | |
| </div> | |
| <div class="mt-6"> | |
| <h4 class="font-medium text-gray-700 mb-2">Insight</h4> | |
| <p class="text-gray-600 text-sm"> | |
| The 18-34 demographic leads in AI and VR adoption, while older groups show stronger preference for | |
| established technologies. Smart home adoption shows surprisingly even distribution across age groups. | |
| </p> | |
| </div> | |
| </div> | |
| </section> | |
| <section class="mb-12"> | |
| <div class="bg-white rounded-xl shadow-md p-6"> | |
| <h3 class="text-xl font-semibold text-gray-800 mb-6">Consumer Concerns About Technology</h3> | |
| <div class="grid grid-cols-1 md:grid-cols-3 gap-6"> | |
| <div class="insight-card bg-red-50 p-6 rounded-lg"> | |
| <div class="flex justify-between items-start mb-4"> | |
| <div> | |
| <div class="text-red-600 font-medium">Top Concern</div> | |
| <div class="text-2xl font-bold text-red-800">68%</div> | |
| </div> | |
| <div class="bg-white p-2 rounded-full"> | |
| <i class="fas fa-shield-alt text-red-500 text-xl"></i> | |
| </div> | |
| </div> | |
| <h4 class="font-medium text-gray-800 mb-2">Data Privacy</h4> | |
| <p class="text-gray-600 text-sm"> | |
| Nearly 7 in 10 consumers cite privacy as their primary concern with new technologies, | |
| up 12% from 2021. | |
| </p> | |
| </div> | |
| <div class="insight-card bg-yellow-50 p-6 rounded-lg"> | |
| <div class="flex justify-between items-start mb-4"> | |
| <div> | |
| <div class="text-yellow-600 font-medium">Significant Increase</div> | |
| <div class="text-2xl font-bold text-yellow-800">54%</div> | |
| </div> | |
| <div class="bg-white p-2 rounded-full"> | |
| <i class="fas fa-brain text-yellow-500 text-xl"></i> | |
| </div> | |
| </div> | |
| <h4 class="font-medium text-gray-800 mb-2">AI Job Impact</h4> | |
| <p class="text-gray-600 text-sm"> | |
| Over half of workers worry about AI affecting their employment, with concerns highest | |
| among 35-54 year olds. | |
| </p> | |
| </div> | |
| <div class="insight-card bg-blue-50 p-6 rounded-lg"> | |
| <div class="flex justify-between items-start mb-4"> | |
| <div> | |
| <div class="text-blue-600 font-medium">Growing Issue</div> | |
| <div class="text-2xl font-bold text-blue-800">47%</div> | |
| </div> | |
| <div class="bg-white p-2 rounded-full"> | |
| <i class="fas fa-bolt text-blue-500 text-xl"></i> | |
| </div> | |
| </div> | |
| <h4 class="font-medium text-gray-800 mb-2">Tech Addiction</h4> | |
| <p class="text-gray-600 text-sm"> | |
| Nearly half report concerns about technology overuse, particularly parents of teenagers (72%). | |
| </p> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| <section> | |
| <div class="bg-white rounded-xl shadow-md p-6"> | |
| <h3 class="text-xl font-semibold text-gray-800 mb-6">Monthly Technology Budget Allocation</h3> | |
| <div class="grid grid-cols-1 lg:grid-cols-3 gap-8"> | |
| <div class="lg:col-span-2"> | |
| <div class="chart-container"> | |
| <canvas id="budgetChart"></canvas> | |
| </div> | |
| </div> | |
| <div> | |
| <h4 class="font-medium text-gray-700 mb-4">Budget Trends</h4> | |
| <div class="space-y-4"> | |
| <div> | |
| <div class="flex justify-between mb-1"> | |
| <span class="text-sm font-medium text-gray-700">Streaming Services</span> | |
| <span class="text-sm font-bold text-indigo-700">$38.50</span> | |
| </div> | |
| <div class="w-full bg-gray-200 rounded-full h-2"> | |
| <div class="bg-indigo-600 h-2 rounded-full animate-bar" style="width: 70%"></div> | |
| </div> | |
| <p class="text-gray-500 text-xs mt-1">Up 15% from 2022 - now the largest tech expense</p> | |
| </div> | |
| <div> | |
| <div class="flex justify-between mb-1"> | |
| <span class="text-sm font-medium text-gray-700">Smart Home</span> | |
| <span class="text-sm font-bold text-green-700">$22.30</span> | |
| </div> | |
| <div class="w-full bg-gray-200 rounded-full h-2"> | |
| <div class="bg-green-500 h-2 rounded-full animate-bar" style="width: 40%"></div> | |
| </div> | |
| <p class="text-gray-500 text-xs mt-1">Steady growth as devices become more affordable</p> | |
| </div> | |
| <div> | |
| <div class="flex justify-between mb-1"> | |
| <span class="text-sm font-medium text-gray-700">AI Tools</span> | |
| <span class="text-sm font-bold text-purple-700">$15.80</span> | |
| </div> | |
| <div class="w-full bg-gray-200 rounded-full h-2"> | |
| <div class="bg-purple-500 h-2 rounded-full animate-bar" style="width: 29%"></div> | |
| </div> | |
| <p class="text-gray-500 text-xs mt-1">New category showing rapid adoption</p> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="mt-6"> | |
| <h4 class="font-medium text-gray-700 mb-2">Commentary</h4> | |
| <p class="text-gray-600 text-sm"> | |
| The average household now spends $92/month on technology services, up from $78 in 2022 (+18%). | |
| Streaming dominates budgets, but consumers are beginning to reallocate funds toward productivity | |
| tools and smart home devices. Notably, 28% of respondents reported exceeding their planned tech budget. | |
| </p> | |
| </div> | |
| </div> | |
| </section> | |
| </main> | |
| <footer class="bg-gray-800 text-white py-8"> | |
| <div class="container mx-auto px-4"> | |
| <div class="grid grid-cols-1 md:grid-cols-3 gap-8"> | |
| <div> | |
| <h4 class="text-lg font-medium mb-4">Poll Insights</h4> | |
| <p class="text-gray-400 text-sm"> | |
| Providing data-driven insights into consumer behavior and technology trends since 2018. | |
| </p> | |
| </div> | |
| <div> | |
| <h4 class="text-lg font-medium mb-4">Methodology</h4> | |
| <ul class="text-gray-400 text-sm space-y-2"> | |
| <li>Nationally representative sample</li> | |
| <li>Margin of error: ±2%</li> | |
| <li>Conducted July 15-30, 2023</li> | |
| </ul> | |
| </div> | |
| <div> | |
| <h4 class="text-lg font-medium mb-4">Connect</h4> | |
| <div class="flex space-x-4"> | |
| <a href="#" class="text-gray-400 hover:text-white transition"><i class="fab fa-twitter text-xl"></i></a> | |
| <a href="#" class="text-gray-400 hover:text-white transition"><i class="fab fa-linkedin text-xl"></i></a> | |
| <a href="#" class="text-gray-400 hover:text-white transition"><i class="fab fa-github text-xl"></i></a> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="border-t border-gray-700 mt-8 pt-6 text-center text-gray-400 text-sm"> | |
| © 2023 Poll Insights Dashboard. All rights reserved. | |
| </div> | |
| </div> | |
| </footer> | |
| <script> | |
| // Set current date | |
| document.getElementById('current-date').textContent = new Date().toLocaleDateString('en-US', { | |
| year: 'numeric', | |
| month: 'long', | |
| day: 'numeric' | |
| }); | |
| // Streaming Services Chart | |
| const streamingCtx = document.getElementById('streamingChart').getContext('2d'); | |
| const streamingChart = new Chart(streamingCtx, { | |
| type: 'bar', | |
| data: { | |
| labels: ['Netflix', 'Disney+', 'HBO Max', 'Amazon Prime', 'Apple TV+', 'Hulu', 'Other'], | |
| datasets: [{ | |
| label: 'Market Share %', | |
| data: [32, 24, 15, 12, 8, 6, 3], | |
| backgroundColor: [ | |
| '#916C80', | |
| '#B388A1', | |
| '#D4A5C1', | |
| '#E2BED5', | |
| '#EBCFE0', | |
| '#F3DFEB', | |
| '#F8ECF2' | |
| ], | |
| borderWidth: 0, | |
| borderRadius: 4 | |
| }] | |
| }, | |
| options: { | |
| responsive: true, | |
| maintainAspectRatio: false, | |
| plugins: { | |
| legend: { | |
| display: false | |
| }, | |
| tooltip: { | |
| callbacks: { | |
| label: function(context) { | |
| return context.parsed.y + '%'; | |
| } | |
| } | |
| } | |
| }, | |
| scales: { | |
| y: { | |
| beginAtZero: true, | |
| max: 40, | |
| ticks: { | |
| callback: function(value) { | |
| return value + '%'; | |
| } | |
| } | |
| } | |
| } | |
| } | |
| }); | |
| // Age Group Chart | |
| const ageCtx = document.getElementById('ageChart').getContext('2d'); | |
| const ageChart = new Chart(ageCtx, { | |
| type: 'radar', | |
| data: { | |
| labels: ['AI Tools', 'VR/AR', 'Smart Home', 'Wearables', '5G Devices'], | |
| datasets: [ | |
| { | |
| label: '18-34', | |
| data: [58, 42, 51, 47, 63], | |
| backgroundColor: 'rgba(79, 70, 229, 0.2)', | |
| borderColor: 'rgba(79, 70, 229, 1)', | |
| borderWidth: 2, | |
| pointBackgroundColor: 'rgba(79, 70, 229, 1)' | |
| }, | |
| { | |
| label: '35-54', | |
| data: [36, 28, 49, 38, 57], | |
| backgroundColor: 'rgba(99, 102, 241, 0.2)', | |
| borderColor: 'rgba(99, 102, 241, 1)', | |
| borderWidth: 2, | |
| pointBackgroundColor: 'rgba(99, 102, 241, 1)' | |
| }, | |
| { | |
| label: '55+', | |
| data: [19, 11, 33, 22, 41], | |
| backgroundColor: 'rgba(129, 140, 248, 0.2)', | |
| borderColor: 'rgba(129, 140, 248, 1)', | |
| borderWidth: 2, | |
| pointBackgroundColor: 'rgba(129, 140, 248, 1)' | |
| } | |
| ] | |
| }, | |
| options: { | |
| responsive: true, | |
| maintainAspectRatio: false, | |
| plugins: { | |
| legend: { | |
| position: 'bottom' | |
| }, | |
| tooltip: { | |
| callbacks: { | |
| label: function(context) { | |
| return context.dataset.label + ': ' + context.raw + '%'; | |
| } | |
| } | |
| } | |
| }, | |
| scales: { | |
| r: { | |
| angleLines: { | |
| display: true | |
| }, | |
| suggestedMin: 0, | |
| suggestedMax: 70, | |
| ticks: { | |
| callback: function(value) { | |
| return value + '%'; | |
| }, | |
| stepSize: 20 | |
| } | |
| } | |
| } | |
| } | |
| }); | |
| // Budget Chart | |
| const budgetCtx = document.getElementById('budgetChart').getContext('2d'); | |
| const budgetChart = new Chart(budgetCtx, { | |
| type: 'doughnut', | |
| data: { | |
| labels: ['Streaming', 'Smart Home', 'AI Tools', 'Cloud Storage', 'Gaming', 'Other'], | |
| datasets: [{ | |
| data: [38.5, 22.3, 15.8, 8.2, 5.1, 2.1], | |
| backgroundColor: [ | |
| '#E50914', | |
| '#10B981', | |
| '#8B5CF6', | |
| '#3B82F6', | |
| '#F59E0B', | |
| '#6B7280' | |
| ], | |
| borderWidth: 0 | |
| }] | |
| }, | |
| options: { | |
| responsive: true, | |
| maintainAspectRatio: false, | |
| cutout: '70%', | |
| plugins: { | |
| legend: { | |
| position: 'right', | |
| labels: { | |
| boxWidth: 12, | |
| padding: 16, | |
| usePointStyle: true, | |
| pointStyle: 'circle' | |
| } | |
| }, | |
| tooltip: { | |
| callbacks: { | |
| label: function(context) { | |
| const label = context.label || ''; | |
| const value = context.raw || 0; | |
| const total = context.dataset.data.reduce((a, b) => a + b, 0); | |
| const percentage = Math.round((value / total) * 100); | |
| return `${label}: $${value} (${percentage}%)`; | |
| } | |
| } | |
| } | |
| } | |
| } | |
| }); | |
| </script> | |
| <p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=ofieldsjnj/my-site" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body> | |
| </html> | |