Data Visualization

Dominando los Ejes Logarítmicos en Matplotlib

Spread the love

Las escalas logarítmicas son esenciales al visualizar datos que abarcan varios órdenes de magnitud. A diferencia de las escalas lineales, las escalas logarítmicas representan los datos proporcionalmente al logaritmo de un valor. Esto permite una representación más clara de grandes rangos de datos y destaca los cambios sutiles en escalas menores. Matplotlib, una potente biblioteca de trazado de Python, ofrece varias maneras de crear gráficos con ejes logarítmicos. Este artículo explora estos métodos, compara sus funcionalidades y demuestra su uso con ejemplos claros.

Tabla de contenido

Creando gráficos logarítmicos con set_xscale() y set_yscale()

El enfoque más fundamental implica el uso de los métodos set_xscale() y set_yscale() del objeto Axes de Matplotlib. Estos métodos proporcionan un control preciso sobre la escala de los ejes.


import matplotlib.pyplot as plt
import numpy as np

# Datos de muestra
x = np.linspace(0.1, 100, 100)
y = x**2

# Crear el gráfico
fig, ax = plt.subplots()
ax.plot(x, y)

# Establecer el eje x en una escala logarítmica
ax.set_xscale('log')

# Agregar etiquetas y título para mayor claridad
ax.set_xlabel('Eje X')
ax.set_ylabel('Eje Y')
ax.set_title('Gráfico con eje X logarítmico')

# Mostrar el gráfico
plt.show()

Este código genera un gráfico con un eje x logarítmico. Reemplazando ax.set_xscale('log') con ax.set_yscale('log') se crea un gráfico con un eje y logarítmico. Ambos se pueden usar juntos para un gráfico log-log.

Usando semilogx() y semilogy() por conveniencia

Matplotlib ofrece las convenientes funciones semilogx() y semilogy(). Estas funciones simplifican el proceso al combinar el trazado y la escala de ejes en una sola llamada.


import matplotlib.pyplot as plt
import numpy as np

# Datos de muestra
x = np.linspace(0.1, 100, 100)
y = x**2

# Crear el gráfico con un eje x logarítmico
plt.semilogx(x, y)

# Agregar etiquetas y título
plt.xlabel('Eje X (Escala Logarítmica)')
plt.ylabel('Eje Y')
plt.title('Gráfico Semilogx')

# Mostrar el gráfico
plt.show()

Este código produce el mismo resultado que el ejemplo anterior pero con menos líneas. Use plt.semilogy(x, y) para un eje y logarítmico.

Generando gráficos log-log con loglog()

Para gráficos con ambos ejes x e y en escalas logarítmicas, la función loglog() proporciona una solución concisa.


import matplotlib.pyplot as plt
import numpy as np

# Datos de muestra
x = np.linspace(0.1, 100, 100)
y = x**2

# Crear el gráfico log-log
plt.loglog(x, y)

# Agregar etiquetas y título
plt.xlabel('Eje X (Escala Logarítmica)')
plt.ylabel('Eje Y (Escala Logarítmica)')
plt.title('Gráfico Log-Log')

# Mostrar el gráfico
plt.show()

Esto crea eficientemente un gráfico log-log, ideal para datos con amplios rangos en ambos ejes. Recuerde siempre etiquetar los ejes y agregar títulos para mayor claridad y comunicación efectiva.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *