import matplotlib.pyplot as plt
import numpy as np
# Datos de la tabla (Diámetro en mm y % que pasa)
diametros = [76, 52, 38, 25, 19, 13, 9, 6.3, 4.75, 2.36, 1.18, 0.6, 0.3, 0.15, 0.075]
pasa = [80.19, 58.76, 47.33, 42.60, 39.13, 34.45, 31.90, 28.29, 26.12, 20.37, 15.19, 10.93, 6.33, 1.93, 0.11]
# Crear la figura
plt.figure(figsize=(10, 6))
# Graficar con escala logarítmica en el eje X
plt.semilogx(diametros, pasa, marker='o', linestyle='-', color='b', linewidth=2, markersize=6)
# Configuraciones del gráfico
plt.title('Curva Granulométrica', fontsize=14, fontweight='bold')
plt.xlabel('Diámetro de las partículas (mm) - Escala Logarítmica', fontsize=12)
plt.ylabel('% que Pasa', fontsize=12)
plt.grid(True, which="both", ls="--", color='gray', alpha=0.5)
plt.ylim(0, 100)
plt.xlim(0.05, 100)
# Invertir el eje X para que vaya de mayor a menor (como es estándar en geotecnia)
plt.gca().invert_xaxis()
# Añadir etiquetas de los tamices principales
tamices = [76, 19, 4.75, 0.075]
etiquetas = ['3"', '3/4"', 'N°4', 'N°200']
for t, e in zip(tamices, etiquetas):
plt.axvline(x=t, color='r', linestyle=':', alpha=0.6)
plt.text(t, 105, e, ha='center', fontsize=9, color='red')
plt.show()
To embed this project on your website, copy the following code and paste it into your website's HTML: