report / script.js
ndwdgda's picture
Upload folder using huggingface_hub
0142d18 verified
// Chart.js Configuration
// Global defaults for FAANG-like aesthetic
Chart.defaults.font.family = "'Inter', system-ui, sans-serif";
Chart.defaults.color = '#4b5563';
Chart.defaults.scale.grid.color = '#f3f4f6';
// 1. Global Market Shift Chart (Line Chart)
const marketShiftCtx = document.getElementById('marketShiftChart').getContext('2d');
new Chart(marketShiftCtx, {
type: 'line',
data: {
labels: ['2020', '2022', '2024', '2026', '2028', '2030', '2032', '2035'],
datasets: [
{
label: 'Routine/Manual Jobs',
data: [100, 95, 88, 75, 60, 50, 40, 30], // Normalized index
borderColor: '#ef4444', // Red for decline
backgroundColor: 'rgba(239, 68, 68, 0.1)',
fill: true,
tension: 0.4,
borderWidth: 3
},
{
label: 'Creative/Strategic Jobs',
data: [40, 45, 55, 70, 85, 100, 120, 150], // Normalized index
borderColor: '#2563eb', // Blue for growth
backgroundColor: 'rgba(37, 99, 235, 0.1)',
fill: true,
tension: 0.4,
borderWidth: 3
}
]
},
options: {
responsive: true,
maintainAspectRatio: false,
plugins: {
legend: {
position: 'top',
align: 'end',
labels: {
usePointStyle: true,
boxWidth: 8
}
},
title: {
display: true,
text: 'Workforce Composition Index (2020-2035)',
font: {
size: 16,
weight: '600'
},
align: 'start',
padding: {
bottom: 20
}
},
tooltip: {
mode: 'index',
intersect: false,
backgroundColor: 'rgba(17, 24, 39, 0.9)',
padding: 12,
cornerRadius: 8
}
},
scales: {
y: {
beginAtZero: true,
title: {
display: true,
text: 'Job Volume Index'
}
}
},
interaction: {
mode: 'nearest',
axis: 'x',
intersect: false
}
}
});
// 2. Automation Potential Chart (New)
const automationPotentialCtx = document.getElementById('automationPotentialChart').getContext('2d');
new Chart(automationPotentialCtx, {
type: 'bar',
data: {
labels: ['Office Support', 'Production', 'Food Service', 'Transportation', 'Sales', 'Management', 'Education'],
datasets: [{
label: '% of Tasks Automatable',
data: [85, 80, 75, 65, 55, 30, 20],
backgroundColor: [
'rgba(239, 68, 68, 0.8)', // High risk
'rgba(239, 68, 68, 0.8)',
'rgba(239, 68, 68, 0.8)',
'rgba(245, 158, 11, 0.8)', // Medium risk
'rgba(245, 158, 11, 0.8)',
'rgba(16, 185, 129, 0.8)', // Low risk
'rgba(16, 185, 129, 0.8)'
],
borderRadius: 6
}]
},
options: {
responsive: true,
maintainAspectRatio: false,
plugins: {
legend: { display: false },
title: {
display: true,
text: 'Automation Potential by Sector (Current Tech)',
align: 'start',
font: { size: 16, weight: '600' }
}
},
scales: {
y: {
beginAtZero: true,
max: 100,
title: { display: true, text: 'Percentage (%)' }
}
}
}
});
// 3. Industry Impact Radar Chart
const industryRadarCtx = document.getElementById('industryRadarChart').getContext('2d');
new Chart(industryRadarCtx, {
type: 'radar',
data: {
labels: ['Finance', 'Healthcare', 'Manufacturing', 'Retail', 'Tech', 'Education'],
datasets: [{
label: 'Automation Risk',
data: [85, 40, 90, 75, 50, 30],
fill: true,
backgroundColor: 'rgba(239, 68, 68, 0.2)',
borderColor: '#ef4444',
pointBackgroundColor: '#ef4444',
pointBorderColor: '#fff',
pointHoverBackgroundColor: '#fff',
pointHoverBorderColor: '#ef4444'
}, {
label: 'AI Augmentation Potential',
data: [90, 95, 60, 50, 100, 85],
fill: true,
backgroundColor: 'rgba(37, 99, 235, 0.2)',
borderColor: '#2563eb',
pointBackgroundColor: '#2563eb',
pointBorderColor: '#fff',
pointHoverBackgroundColor: '#fff',
pointHoverBorderColor: '#2563eb'
}]
},
options: {
responsive: true,
maintainAspectRatio: false,
plugins: {
legend: {
position: 'bottom'
}
},
scales: {
r: {
angleLines: {
color: '#e5e7eb'
},
grid: {
color: '#e5e7eb'
},
pointLabels: {
font: {
size: 12,
weight: '500'
}
},
suggestedMin: 0,
suggestedMax: 100
}
}
}
});
// 4. Productivity vs Wages (Bar/Line Combo)
const productivityCtx = document.getElementById('productivityChart').getContext('2d');
new Chart(productivityCtx, {
type: 'bar',
data: {
labels: ['2015', '2017', '2019', '2021', '2023', '2025 (Proj)', '2027 (Proj)', '2030 (Proj)'],
datasets: [
{
label: 'Productivity Output',
data: [100, 104, 109, 115, 125, 140, 165, 210],
type: 'line',
borderColor: '#10b981', // Emerald green
borderWidth: 3,
tension: 0.4,
yAxisID: 'y'
},
{
label: 'Median Wage Growth',
data: [100, 102, 105, 107, 109, 112, 116, 122],
backgroundColor: '#9ca3af', // Gray
yAxisID: 'y'
}
]
},
options: {
responsive: true,
maintainAspectRatio: false,
plugins: {
title: {
display: true,
text: 'The Great Divergence: Productivity vs. Wages',
align: 'start',
font: {
size: 16,
weight: '600'
}
}
},
scales: {
y: {
beginAtZero: false,
min: 90,
title: {
display: true,
text: 'Index (2015 = 100)'
}
}
}
}
});
// 5. GDP Impact Chart (New)
const gdpImpactCtx = document.getElementById('gdpImpactChart').getContext('2d');
new Chart(gdpImpactCtx, {
type: 'doughnut',
data: {
labels: ['Traditional Growth', 'AI-Driven Productivity', 'New AI Products/Services'],
datasets: [{
data: [55, 30, 15],
backgroundColor: [
'#9ca3af', // Gray
'#2563eb', // Blue
'#10b981' // Green
],
hoverOffset: 4
}]
},
options: {
responsive: true,
maintainAspectRatio: false,
plugins: {
legend: {
position: 'right'
},
title: {
display: true,
text: 'Projected Sources of GDP Growth (2030)',
align: 'start',
font: { size: 16, weight: '600' }
}
},
cutout: '60%'
}
});