|
|
|
|
|
|
|
|
|
|
|
Chart.defaults.font.family = "'Inter', system-ui, sans-serif"; |
|
|
Chart.defaults.color = '#4b5563'; |
|
|
Chart.defaults.scale.grid.color = '#f3f4f6'; |
|
|
|
|
|
|
|
|
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], |
|
|
borderColor: '#ef4444', |
|
|
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], |
|
|
borderColor: '#2563eb', |
|
|
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 |
|
|
} |
|
|
} |
|
|
}); |
|
|
|
|
|
|
|
|
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)', |
|
|
'rgba(239, 68, 68, 0.8)', |
|
|
'rgba(239, 68, 68, 0.8)', |
|
|
'rgba(245, 158, 11, 0.8)', |
|
|
'rgba(245, 158, 11, 0.8)', |
|
|
'rgba(16, 185, 129, 0.8)', |
|
|
'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 (%)' } |
|
|
} |
|
|
} |
|
|
} |
|
|
}); |
|
|
|
|
|
|
|
|
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 |
|
|
} |
|
|
} |
|
|
} |
|
|
}); |
|
|
|
|
|
|
|
|
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', |
|
|
borderWidth: 3, |
|
|
tension: 0.4, |
|
|
yAxisID: 'y' |
|
|
}, |
|
|
{ |
|
|
label: 'Median Wage Growth', |
|
|
data: [100, 102, 105, 107, 109, 112, 116, 122], |
|
|
backgroundColor: '#9ca3af', |
|
|
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)' |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
}); |
|
|
|
|
|
|
|
|
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', |
|
|
'#2563eb', |
|
|
'#10b981' |
|
|
], |
|
|
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%' |
|
|
} |
|
|
}); |
|
|
|