Код: Выделить всё
var cantidadEmpleadosContratadosPorAno = empleados
.GroupBy(empleado => empleado.FechaContratacion.Year)
.OrderBy(grupo => grupo.Key)
.Select(grupo => new {
AnoContratacion = grupo.Key,
CantidadContratados = grupo.Count()
})
.ToList();
Код: Выделить всё
new Empleado { IdEmpleado = 1, Nombre = "John Doe", Departamento = "Ingeniería", Posicion = "Ingeniero de Software", AñosExperiencia = 5, Edad = 30, Salario = 75000, NivelSatisfaccion = 0.8, CalificacionDesempeno = 4.5, HorasTrabajo = 40, FechaContratacion = DateTime.Parse("2018-05-15") }
Код для диаграммы:
Код: Выделить всё
const fechaContratacion = JSON.parse('@Html.Raw(ViewBag.FechaContratacion)'); // Lista de años
const cantidadEmpleados = JSON.parse('@Html.Raw(ViewBag.CantidadEmpleados)'); // Lista de cantidades
const opcionesGraficoCantidadEmpleadosContratadosPorAños = {
series: [{
name: "Cantidad Empleados",
data: cantidadEmpleados
}],
chart: {
height: 350,
type: 'line',
zoom: {
enabled: false
}
},
dataLabels: {
enabled: false
},
stroke: {
curve: 'straight'
},
title: {
text: 'Cantidad de Empleados por Año',
align: 'left'
},
grid: {
row: {
colors: ['#f3f3f3', 'transparent'],
opacity: 0.5
},
},
xaxis: {
categories: fechaContratacion, // Asegurarse de usar los años como categorías en el eje X
title: {
text: 'Años'
}
},
yaxis: {
title: {
text: 'Cantidad de Empleados'
}
}
};
var graficoCantidadEmpleadosContratadosPorAños = new ApexCharts(
document.querySelector("#graficoCantidadEmpleadosContratadosPorAños"),
opcionesGraficoCantidadEmpleadosContratadosPorAños
);
graficoCantidadEmpleadosContratadosPorAños.render();
Подробнее здесь: https://stackoverflow.com/questions/791 ... d-of-years