Data Visualization

Dominando Eixos Logarítmicos no Matplotlib

Spread the love

Escalas logarítmicas são essenciais ao visualizar dados que abrangem várias ordens de magnitude. Diferentemente das escalas lineares, as escalas logarítmicas representam os dados proporcionalmente ao logaritmo de um valor. Isso permite uma representação mais clara de grandes intervalos de dados e destaca mudanças sutis em escalas menores. O Matplotlib, uma poderosa biblioteca de plotagem Python, oferece várias maneiras de criar gráficos com eixos logarítmicos. Este artigo explora esses métodos, comparando suas funcionalidades e demonstrando seu uso com exemplos claros.

Sumário

Criando gráficos logarítmicos com set_xscale() e set_yscale()

A abordagem mais fundamental envolve o uso dos métodos set_xscale() e set_yscale() do objeto Axes do Matplotlib. Esses métodos fornecem controle preciso sobre a escala do eixo.


import matplotlib.pyplot as plt
import numpy as np

# Dados de amostra
x = np.linspace(0.1, 100, 100)
y = x**2

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

# Definir o eixo x como escala logarítmica
ax.set_xscale('log')

# Adicionar rótulos e título para clareza
ax.set_xlabel('Eixo X')
ax.set_ylabel('Eixo Y')
ax.set_title('Gráfico com Eixo X Logarítmico')

# Mostrar o gráfico
plt.show()

Este código gera um gráfico com um eixo x logarítmico. Substituindo ax.set_xscale('log') por ax.set_yscale('log'), cria-se um gráfico com um eixo y logarítmico. Ambos podem ser usados juntos para um gráfico log-log.

Usando semilogx() e semilogy() para conveniência

O Matplotlib oferece as funções convenientes semilogx() e semilogy(). Essas funções simplificam o processo combinando plotagem e escala de eixo em uma única chamada.


import matplotlib.pyplot as plt
import numpy as np

# Dados de amostra
x = np.linspace(0.1, 100, 100)
y = x**2

# Criar o gráfico com um eixo x logarítmico
plt.semilogx(x, y)

# Adicionar rótulos e título
plt.xlabel('Eixo X (Escala Logarítmica)')
plt.ylabel('Eixo Y')
plt.title('Gráfico Semilogx')

# Mostrar o gráfico
plt.show()

Este código produz o mesmo resultado que o exemplo anterior, mas com menos linhas. Use plt.semilogy(x, y) para um eixo y logarítmico.

Gerando gráficos log-log com loglog()

Para gráficos com eixos x e y em escalas logarítmicas, a função loglog() fornece uma solução concisa.


import matplotlib.pyplot as plt
import numpy as np

# Dados de amostra
x = np.linspace(0.1, 100, 100)
y = x**2

# Criar o gráfico log-log
plt.loglog(x, y)

# Adicionar rótulos e título
plt.xlabel('Eixo X (Escala Logarítmica)')
plt.ylabel('Eixo Y (Escala Logarítmica)')
plt.title('Gráfico Log-Log')

# Mostrar o gráfico
plt.show()

Isso cria eficientemente um gráfico log-log, ideal para dados com amplas faixas em ambos os eixos. Lembre-se de sempre rotular os eixos e adicionar títulos para clareza e comunicação eficaz.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *