const segments = [ { label: "Pantry", value: 104, color: getRandomColor() }, { label: "Fridge", value: 30, color: getRandomColor() }, { label: "Freezer", value: 87, color: getRandomColor() } ]; const totalValue = segments.reduce((accumulator, current) => { return accumulator + current.value; }, 0); const circumference = 2 * Math.PI * 10; function renderPieChart(data) { let currentOffset = 0; data.forEach((item, index) => { const fraction = item.value / totalValue; const segmentLength = fraction * circumference; const circle = document.getElementById(`seg-${index + 1}`); circle.style.strokeDasharray = `${segmentLength} ${circumference}`; circle.style.strokeDashoffset = -currentOffset; circle.style.stroke = item.color; currentOffset += segmentLength; addLegendItem(item); }); } function addLegendItem(item) { const legend = document.getElementById('legend'); const div = document.createElement('div'); div.className = 'legend-item'; div.innerHTML = ` ${item.label}: ${item.value} `; legend.appendChild(div); } function getRandomColor() { const letters = '0123456789ABCDEF'; let color = '#'; for (let i = 0; i < 6; i++) { color += letters[Math.floor(Math.random() * 10)]; } return color; } renderPieChart(segments);