Plotagem com Escala Logit em Matplotlib

Beginner

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

Introdução

Neste laboratório, aprenderemos como criar gráficos com eixos logit em Matplotlib. Os eixos logit são comumente usados em gráficos de probabilidade para representar a função de distribuição cumulativa (CDF - Cumulative Distribution Function) de uma distribuição. Usaremos as bibliotecas math, numpy e matplotlib.pyplot para este laboratório.

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ê.

Importar as bibliotecas necessárias e configurar os dados

Importaremos as bibliotecas math, numpy e matplotlib.pyplot e configuraremos os dados para os gráficos.

import math
import numpy as np
import matplotlib.pyplot as plt

xmax = 10
x = np.linspace(-xmax, xmax, 10000)
cdf_norm = [math.erf(w / np.sqrt(2)) / 2 + 1 / 2 for w in x]
cdf_laplacian = np.where(x < 0, 1 / 2 * np.exp(x), 1 - 1 / 2 * np.exp(-x))
cdf_cauchy = np.arctan(x) / np.pi + 1 / 2

Criar um gráfico com escala logit e notação padrão

Criaremos um gráfico com escala logit e notação padrão. Isso pode ser feito definindo a escala do eixo y para logit usando set_yscale("logit") e definindo os limites do eixo y usando set_ylim(). Também plotaremos as funções de distribuição cumulativa para as distribuições normal, Laplaciana e Cauchy usando plot() e adicionaremos uma legenda usando legend().

fig, axs = plt.subplots(nrows=1, ncols=1, figsize=(6.4, 4.8))

axs.plot(x, cdf_norm, label=r"$\mathcal{N}$")
axs.plot(x, cdf_laplacian, label=r"$\mathcal{L}$")
axs.plot(x, cdf_cauchy, label="Cauchy")
axs.set_yscale("logit")
axs.set_ylim(1e-5, 1 - 1e-5)
axs.legend()
axs.grid()

plt.show()

Criar um gráfico com escala logit e notação de sobrevivência

Criaremos um gráfico com escala logit e notação de sobrevivência. Isso pode ser feito definindo a escala do eixo y para logit e definindo o parâmetro one_half para "1/2" e o parâmetro use_overline para True usando set_yscale("logit", one_half="1/2", use_overline=True)". Também plotaremos as funções de distribuição cumulativa para as distribuições normal, Laplaciana e Cauchy usando plot() e adicionaremos uma legenda usando legend().

fig, axs = plt.subplots(nrows=1, ncols=1, figsize=(6.4, 4.8))

axs.plot(x, cdf_norm, label=r"$\mathcal{N}$")
axs.plot(x, cdf_laplacian, label=r"$\mathcal{L}$")
axs.plot(x, cdf_cauchy, label="Cauchy")
axs.set_yscale("logit", one_half="1/2", use_overline=True)
axs.set_ylim(1e-5, 1 - 1e-5)
axs.legend()
axs.grid()

plt.show()

Criar um gráfico com escala linear

Criaremos um gráfico com escala linear. Isso pode ser feito simplesmente plotando as funções de distribuição cumulativa para as distribuições normal, Laplaciana e Cauchy usando plot() e adicionando uma legenda usando legend().

fig, axs = plt.subplots(nrows=1, ncols=1, figsize=(6.4, 4.8))

axs.plot(x, cdf_norm, label=r"$\mathcal{N}$")
axs.plot(x, cdf_laplacian, label=r"$\mathcal{L}$")
axs.plot(x, cdf_cauchy, label="Cauchy")
axs.legend()
axs.grid()

plt.show()

Resumo

Neste laboratório, aprendemos como criar gráficos com eixos logit em Matplotlib. Criamos gráficos com escala logit e notação padrão, escala logit e notação de sobrevivência, e escala linear. Usamos as bibliotecas math, numpy e matplotlib.pyplot para este laboratório.