You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
94 lines
3.3 KiB
94 lines
3.3 KiB
<!DOCTYPE html>
|
|
<!DOCTYPE html>
|
|
<html lang="es">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Gráfico Interactivo</title>
|
|
|
|
<!-- Agregar Bootstrap -->
|
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet">
|
|
|
|
<!-- Agregar Chart.js -->
|
|
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
|
|
|
|
<style>
|
|
/* Ajustes adicionales para hacer el gráfico más grande en pantallas grandes */
|
|
.container {
|
|
max-width: 900px;
|
|
margin-top: 50px;
|
|
}
|
|
h1 {
|
|
text-align: center;
|
|
margin-bottom: 20px;
|
|
color: #333;
|
|
}
|
|
.btn-secondary {
|
|
margin-top: 20px;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
|
|
<div class="container">
|
|
<h1>Gráfico de Cantidad de Productos</h1>
|
|
|
|
<!-- Canvas para el gráfico -->
|
|
<canvas id="grafico"></canvas>
|
|
|
|
<!-- Botón para volver -->
|
|
<a href="{% url 'inventario_vista' %}" class="btn btn-secondary btn-lg d-block mx-auto">Volver</a>
|
|
</div>
|
|
|
|
<script>
|
|
const ctx = document.getElementById('grafico').getContext('2d');
|
|
|
|
// Preparar los labels con el nombre del producto y la medida
|
|
const productosConMedida = {{ productos|safe }}.map((producto, index) => {
|
|
// Asumir que la medida está disponible en el mismo índice que el producto en la lista
|
|
const medida = {{ medidas|safe }}[index]; // Asegúrate de pasar las medidas correctamente desde el backend
|
|
return producto + ' (' + medida + ')'; // Combina nombre y medida
|
|
});
|
|
|
|
const myChart = new Chart(ctx, {
|
|
type: 'pie', // Tipo de gráfico de pastel
|
|
data: {
|
|
labels: productosConMedida, // Nombres de los productos con medida
|
|
datasets: [{
|
|
label: 'Cantidad de Productos',
|
|
data: {{ cantidades|safe }}, // Cantidades de productos
|
|
backgroundColor: [
|
|
'rgba(75, 192, 192, 0.6)',
|
|
'rgba(153, 102, 255, 0.6)',
|
|
'rgba(255, 159, 64, 0.6)',
|
|
'rgba(54, 162, 235, 0.6)',
|
|
'rgba(255, 99, 132, 0.6)',
|
|
'rgba(255, 205, 86, 0.6)',
|
|
'rgba(201, 203, 207, 0.6)'
|
|
], // Colores para cada sección del gráfico
|
|
borderColor: 'rgba(255, 255, 255, 0.7)', // Color del borde
|
|
borderWidth: 1
|
|
}]
|
|
},
|
|
options: {
|
|
responsive: true,
|
|
plugins: {
|
|
legend: {
|
|
position: 'top',
|
|
},
|
|
tooltip: {
|
|
callbacks: {
|
|
label: function(tooltipItem) {
|
|
return tooltipItem.label + ': ' + tooltipItem.raw + ' productos';
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
});
|
|
</script>
|
|
|
|
<!-- Agregar Bootstrap JS -->
|
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/js/bootstrap.bundle.min.js"></script>
|
|
</body>
|
|
</html> |