Matplotlib - Formateo de ejes

A veces, uno o algunos puntos son mucho más grandes que la mayor parte de los datos. En tal caso, la escala de un eje debe establecerse como logarítmica en lugar de la escala normal. Esta es la escala logarítmica. En Matplotlib, es posible establecer la propiedad xscale o vscale del objeto axes en 'log'.

A veces también es necesario mostrar alguna distancia adicional entre los números de eje y la etiqueta del eje. La propiedad del panel de etiquetas de cualquier eje (xoy o ambos) se puede establecer en el valor deseado.

Ambas características anteriores se demuestran con la ayuda del siguiente ejemplo. La subparcela de la derecha tiene una escala logarítmica y la de la izquierda tiene su eje x con una etiqueta a más distancia.

import matplotlib.pyplot as plt
import numpy as np
fig, axes = plt.subplots(1, 2, figsize=(10,4))
x = np.arange(1,5)
axes[0].plot( x, np.exp(x))
axes[0].plot(x,x**2)
axes[0].set_title("Normal scale")
axes[1].plot (x, np.exp(x))
axes[1].plot(x, x**2)
axes[1].set_yscale("log")
axes[1].set_title("Logarithmic scale (y)")
axes[0].set_xlabel("x axis")
axes[0].set_ylabel("y axis")
axes[0].xaxis.labelpad = 10
axes[1].set_xlabel("x axis")
axes[1].set_ylabel("y axis")
plt.show()

Las espinas del eje son las líneas que conectan las marcas de graduación del eje que delimitan los límites del área de la parcela. El objeto de ejes tiene espinas ubicadas en la parte superior, inferior, izquierda y derecha.

Cada lomo se puede formatear especificando el color y el ancho. Cualquier borde puede hacerse invisible si su color se establece en ninguno.

import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_axes([0,0,1,1])
ax.spines['bottom'].set_color('blue')
ax.spines['left'].set_color('red')
ax.spines['left'].set_linewidth(2)
ax.spines['right'].set_color(None)
ax.spines['top'].set_color(None)
ax.plot([1,2,3,4,5])
plt.show()