Técnicas de Visualização de Dados com Matplotlib

Beginner

This tutorial is from open-source community. Access the source code

Introdução

Matplotlib é uma poderosa biblioteca de visualização de dados em Python. Ela oferece uma variedade de ferramentas para criar uma ampla gama de gráficos, diagramas e plots. Uma das características mais poderosas do Matplotlib é sua capacidade de escalar dados. Este laboratório irá apresentá-lo ao AsinhScale, que é uma transformação que permite plotar quantidades que cobrem uma faixa dinâmica muito ampla, incluindo valores positivos e negativos.

Dicas para a VM

Após a inicialização da VM, clique no canto superior esquerdo para mudar para a aba Notebook e acessar o Jupyter Notebook para praticar.

Às vezes, pode ser necessário aguardar alguns segundos para que o Jupyter Notebook termine de carregar. A validação das operações não pode ser automatizada devido a limitações no Jupyter Notebook.

Se você enfrentar problemas durante o aprendizado, sinta-se à vontade para perguntar ao Labby. Forneça feedback após a sessão, e resolveremos o problema prontamente para você.

Este é um Lab Guiado, que fornece instruções passo a passo para ajudá-lo a aprender e praticar. Siga as instruções cuidadosamente para completar cada etapa e ganhar experiência prática. Dados históricos mostram que este é um laboratório de nível intermediário com uma taxa de conclusão de 80%. Recebeu uma taxa de avaliações positivas de 100% dos estudantes.

Instalar Matplotlib

Antes de começar, certifique-se de que o Matplotlib está instalado. Você pode instalá-lo usando o comando pip da seguinte forma:

pip install matplotlib

Importar as Bibliotecas Necessárias

Para usar o AsinhScale, precisamos importar a biblioteca Matplotlib e a biblioteca numpy. Numpy é uma poderosa biblioteca de computação numérica em Python que é frequentemente usada em conjunto com Matplotlib.

import matplotlib.pyplot as plt
import numpy as np

Criar Dados de Amostra

Antes de podermos plotar dados usando o AsinhScale, precisamos criar alguns dados de amostra. Criaremos um gráfico de linha simples usando o método linspace do numpy.

## Prepare sample values for variations on y=x graph:
x = np.linspace(-3, 6, 500)

Comparar o comportamento de "symlog" e "asinh" no gráfico de amostra y=x

Vamos comparar o comportamento de "symlog" e "asinh" em um gráfico de amostra y=x. Plotaremos o mesmo gráfico duas vezes, uma vez com "symlog" e outra com "asinh".

fig1 = plt.figure()
ax0, ax1 = fig1.subplots(1, 2, sharex=True)

ax0.plot(x, x)
ax0.set_yscale('symlog')
ax0.grid()
ax0.set_title('symlog')

ax1.plot(x, x)
ax1.set_yscale('asinh')
ax1.grid()
ax1.set_title('asinh')

Comparar gráficos "asinh" com diferentes parâmetros de escala "linear_width"

Agora compararemos gráficos "asinh" com diferentes parâmetros de escala "linear_width". Plotaremos três gráficos com diferentes valores de "linear_width".

fig2 = plt.figure(layout='constrained')
axs = fig2.subplots(1, 3, sharex=True)
for ax, (a0, base) in zip(axs, ((0.2, 2), (1.0, 0), (5.0, 10))):
    ax.set_title(f'linear_width={a0:.3g}')
    ax.plot(x, x, label='y=x')
    ax.plot(x, 10*x, label='y=10x')
    ax.plot(x, 100*x, label='y=100x')
    ax.set_yscale('asinh', linear_width=a0, base=base)
    ax.grid()
    ax.legend(loc='best', fontsize='small')

Comparar as escalas "symlog" e "asinh" em números aleatórios 2D com distribuição de Cauchy

Finalmente, compararemos as escalas "symlog" e "asinh" em números aleatórios 2D com distribuição de Cauchy. Plotaremos o mesmo gráfico duas vezes, uma vez com "symlog" e outra com "asinh".

fig3 = plt.figure()
ax = fig3.subplots(1, 1)
r = 3 * np.tan(np.random.uniform(-np.pi / 2.02, np.pi / 2.02,
                                 size=(5000,)))
th = np.random.uniform(0, 2*np.pi, size=r.shape)

ax.scatter(r * np.cos(th), r * np.sin(th), s=4, alpha=0.5)
ax.set_xscale('asinh')
ax.set_yscale('symlog')
ax.set_xlabel('asinh')
ax.set_ylabel('symlog')
ax.set_title('2D Cauchy random deviates')
ax.set_xlim(-50, 50)
ax.set_ylim(-50, 50)
ax.grid()

Resumo

Este laboratório introduziu o AsinhScale no Matplotlib, que é uma transformação que permite plotar quantidades que cobrem uma faixa dinâmica muito ampla, incluindo valores positivos e negativos. Aprendemos como criar dados de amostra e como plotar gráficos com "symlog" e "asinh". Também aprendemos como comparar gráficos "asinh" com diferentes parâmetros de escala e como comparar as escalas "symlog" e "asinh" em números aleatórios 2D com distribuição de Cauchy.