import matplotlib.pyplot as plt
# Crear la figura y el eje
fig, ax = plt.subplots(figsize=(14, 10))
# Dibujar la espina central
ax.plot([0.2, 0.8], [0.5, 0.5], color="black")
# Añadir las categorías principales
categories = ['Materiales', 'Métodos', 'Mano de Obra', 'Maquinaria', 'Entorno', 'Medición']
positions = [0.3, 0.4, 0.5, 0.6, 0.7, 0.8]
for pos, cat in zip(positions, categories):
ax.text(pos, 0.55, cat, ha="center", va="bottom", fontsize=12, bbox=dict(facecolor='white', edgecolor='black'))
# Añadir las causas potenciales en detalle
causes = {
'Materiales': ['Calidad de los componentes\n- Componentes defectuosos\n- Variabilidad en la calidad',
'Proveedores\n- Falta de consistencia\n- Selección inadecuada',
'Almacenamiento\n- Condiciones inadecuadas\n- Gestión ineficiente'],
'Métodos': ['Procedimientos de ensamblaje\n- Mal documentados\n- Falta de estandarización',
'Control de calidad\n- Inspección insuficiente\n- Falta de pruebas intermedias',
'Procesos de prueba\n- Pruebas finales inadecuadas\n- Falta de simulaciones'],
'Mano de Obra': ['Capacitación\n- Formación insuficiente\n- Falta de actualización',
'Turnover\n- Alta rotación\n- Empleados nuevos sin experiencia',
'Motivación\n- Baja moral\n- Incentivos inadecuados'],
'Maquinaria': ['Mantenimiento\n- Falta de mantenimiento preventivo\n- Respuesta lenta a fallos',
'Equipamiento\n- Uso de maquinaria obsoleta\n- Máquinas defectuosas',
'Calibración\n- Equipos mal calibrados\n- Falta de recalibración'],
'Entorno': ['Condiciones ambientales\n- Temperatura y humedad inadecuadas\n- Condiciones de limpieza deficientes',
'Espacio de trabajo\n- Diseño ineficiente\n- Iluminación y ergonomía inadecuadas'],
'Medición': ['Instrumentos de medición\n- Equipos defectuosos\n- Falta de herramientas precisas',
'Frecuencia de inspección\n- Inspecciones insuficientes\n- Falta de auditorías regulares',
'Procedimientos de inspección\n- Inconsistentes\n- Falta de personal especializado']
}
# Posiciones y offsets para las causas
offsets = [0.45, 0.35, 0.25]
for cat, pos in zip(categories, positions):
for i, cause in enumerate(causes[cat]):
if pos < 0.5:
ax.text(pos - 0.15, offsets[i], cause, ha="right", va="center", fontsize=10, bbox=dict(facecolor='white', edgecolor='black'))
ax.plot([pos - 0.05, pos], [0.5, offsets[i]], color="black")
else:
ax.text(pos + 0.15, offsets[i], cause, ha="left", va="center", fontsize=10, bbox=dict(facecolor='white', edgecolor='black'))
ax.plot([pos, pos + 0.05], [0.5, offsets[i]], color="black")
# Configurar el gráfico
ax.axis("off")
plt.title("Diagrama de Causa-Efecto: Defectos en Teléfonos Inteligentes")
plt.show()
To embed this project on your website, copy the following code and paste it into your website's HTML: