chrt={
const chartData = await FileAttachment("Sample Data.csv").csv({typed: true});
const processedChartData = chartData.map(row => {
const label = row['Month'];
const value = row['Value'];
return { label, value };
});
const labels = processedChartData.map(d => d.label);
const chartValues = processedChartData.map(d => d.value);
const data = {
labels: labels,
datasets: [{
label: 'Dataset Label',
data: chartValues,
backgroundColor: labels.map(label => {
switch (label) {
case 'Jan':
return 'rgba(255, 99, 132, 0.5)';
case 'Feb':
return 'rgba(54, 162, 235, 0.5)';
case 'March':
return 'rgba(255, 206, 86, 0.5)';
default:
return 'rgba(0, 123, 255, 0.5)';
}
}),
borderColor: 'rgba(0, 0, 0, 0)',
borderWidth: 4
}]
};
const wrapper = html`<div style="width: 30%; height: auto;"><canvas></canvas></div>`;
const canvas = wrapper.querySelector('canvas');
const myChart = new Chart(canvas.getContext('2d'), {
type: 'pie',
data: data,
options: {
responsive: true,
maintainAspectRatio: true
}
});
return wrapper;
}