Pages

Tuesday, 3 December 2024

Doughnut Chart Maker Tool



Doughnut Chart Maker Tool

Doughnut Chart Maker Tool

* { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: Arial, sans-serif; background-color: #f4f4f9; display: flex; justify-content: center; align-items: center; height: 100vh; } .container { text-align: center; width: 90%; max-width: 800px; margin: auto; } .title { font-size: 2.5rem; margin-bottom: 20px; } .inputs { background-color: #fff; padding: 20px; border-radius: 8px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); margin-bottom: 30px; } .input-group { margin-bottom: 15px; text-align: left; } .input-group label { font-size: 1.1rem; margin-bottom: 5px; display: block; } .input-group input { width: 100%; padding: 10px; font-size: 1rem; border: 1px solid #ddd; border-radius: 5px; } .btn { background-color: #4CAF50; color: white; padding: 10px 20px; font-size: 1.2rem; border: none; border-radius: 5px; cursor: pointer; } .btn:hover { background-color: #45a049; } .chart-container { width: 100%; max-width: 500px; margin: auto; } canvas { width: 100%; height: auto; } document.getElementById('generateChart').addEventListener('click', function() { // Get input values const labelsInput = document.getElementById('labels').value; const valuesInput = document.getElementById('values').value; const colorsInput = document.getElementById('colors').value; // Validate inputs if (!labelsInput || !valuesInput || !colorsInput) { alert('Please fill in all fields!'); return; } // Split the inputs into arrays const labels = labelsInput.split(',').map(item => item.trim()); const values = valuesInput.split(',').map(item => parseFloat(item.trim())); const colors = colorsInput.split(',').map(item => item.trim()); // Check if lengths of arrays match if (labels.length !== values.length || labels.length !== colors.length) { alert('The number of labels, values, and colors must be the same.'); return; } // Create the chart const ctx = document.getElementById('myDoughnutChart').getContext('2d'); const myDoughnutChart = new Chart(ctx, { type: 'doughnut', data: { labels: labels, datasets: [{ data: values, backgroundColor: colors, borderWidth: 1, hoverOffset: 4 }] }, options: { responsive: true, plugins: { legend: { position: 'top', }, tooltip: { callbacks: { label: function(tooltipItem) { return `${tooltipItem.label}: ${tooltipItem.raw}`; } } } } } }); });