```
```python
import matplotlib.pyplot as plt
import numpy as np
# Datos de los intervalos y frecuencias
# Los intervalos son los límites de las clases: [30, 45), [45, 60), [60, 65), [65, 70)
limites_intervalos = [30, 45, 60, 65, 70]
frecuencias_absolutas = [1242, 15276, 24403, 21782]
# Calcular las longitudes de cada intervalo
longitudes_intervalos = [limites_intervalos[i+1] - limites_intervalos[i] for i in range(len(frecuencias_absolutas))]
# Calcular las densidades de frecuencia
# Densidad = Frecuencia Absoluta / Longitud del Intervalo
densidades_frecuencia = [frecuencias_absolutas[i] / longitudes_intervalos[i] for i in range(len(frecuencias_absolutas))]
# Crear la figura y los ejes para el gráfico
plt.figure(figsize=(10, 6)) # Tamaño de la figura
# Dibujar las barras del histograma
# Para que las barras queden centradas en su "posición" en el eje X,
# usamos el punto medio de cada intervalo para la posición x.
posiciones_x = np.array(limites_intervalos[:-1]) + np.array(longitudes_intervalos) / 2
plt.bar(posiciones_x, densidades_frecuencia, width=longitudes_intervalos, color='skyblue', alpha=0.7, edgecolor='black')
# Configurar las etiquetas de los ejes y el título del gráfico
plt.xlabel('Peso de los huevos (g)')
plt.ylabel('Densidad de Frecuencia')
plt.title('Histograma de la Densidad de Frecuencia del Peso de los Huevos')
# Establecer las marcas en el eje X para que coincidan con los límites de los intervalos
plt.xticks(limites_intervalos)
# Añadir una cuadrícula para facilitar la lectura
plt.grid(axis='y', linestyle='--', alpha=0.7)
# Asegurarse de que el diseño sea ajustado
plt.tight_layout()
# Mostrar el gráfico
plt.show()
```