Matplotlib intermediário

Limites dos eixos, marcações e escala log

Defina os limites dos eixos, escolha posição e texto das marcações e mude para escala logarítmica com set_yscale.

Introdução

O Matplotlib escolhe os limites e as marcações dos eixos por você, mas muitas vezes você sabe mais. set_xlim e set_ylim escolhem a faixa visível, set_xticks escolhe onde ficam as marcações e o que dizem, e set_yscale("log") faz um crescimento que dobra parecer uma linha reta.

Os usuários dobram toda semana, então em um eixo normal as primeiras semanas parecem planas e as últimas disparam. Na escala log cada duplicação ocupa a mesma altura, a linha fica reta e toda semana fica legível. set_xticks(x, labels) coloca uma marcação por semana com os nomes W1, W2 etc.; set_xlim deixa um pouco de espaço nas pontas.

Visualizador interativo

Ligue e desligue a escala log. Em um eixo normal as primeiras semanas ficam escondidas perto do zero; na escala log cada duplicação ocupa a mesma altura.

Exemplo de Matplotlib executável

Matplotlib
Executar código →
main.py
import matplotlib.pyplot as plt
import numpy as np

x = np.arange(1, 11)
users = 50 * 2.0 ** x

fig, ax = plt.subplots(figsize=(7, 4))
ax.plot(x, users, marker="o")
ax.set_yscale("log")
ax.set_xlim(0.5, 10.5)
ax.set_xticks(x, [f"W{i}" for i in x])
ax.set_xlabel("Week")
ax.set_ylabel("Users (log scale)")
ax.set_title("Users double every week")
plt.show()
Gerar um botão Run para este exemplo O gráfico que este código desenha
Limites dos eixos, marcações e escala log