Matplotlib - Eixos de formatação

Às vezes, um ou alguns pontos são muito maiores do que a maioria dos dados. Nesse caso, a escala de um eixo precisa ser definida como logarítmica, em vez da escala normal. Esta é a escala logarítmica. No Matplotlib, é possível definindo a propriedade xscale ou vscale do objeto de eixos como 'log'.

Às vezes também é necessário mostrar alguma distância adicional entre os números dos eixos e o rótulo do eixo. A propriedade do rótulo de qualquer eixo (x ou y ou ambos) pode ser definida para o valor desejado.

Ambos os recursos acima são demonstrados com a ajuda do exemplo a seguir. A subtrama à direita tem uma escala logarítmica e uma à esquerda tem seu eixo x com rótulo a mais distância.

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()

As espinhas do eixo são as linhas que conectam as marcas dos eixos que demarcam os limites da área de plotagem. O objeto de eixos possui espinhos localizados na parte superior, inferior, esquerda e direita.

Cada lombada pode ser formatada especificando-se a cor e a largura. Qualquer aresta pode ficar invisível se sua cor for definida como nenhuma.

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()