Criar Gráfico Matplotlib de Eixo Duplo

Beginner

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

Introdução

Este tutorial irá guiá-lo pelos passos para criar um gráfico simples usando Matplotlib, uma biblioteca Python utilizada para visualização de dados. Usaremos o módulo host_subplot para criar um gráfico com dois eixos y.

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 módulos necessários

O primeiro passo é importar os módulos necessários para o nosso gráfico. Usaremos numpy para gerar nossos dados x e y, matplotlib.pyplot para criar o gráfico e mpl_toolkits.axes_grid1 para criar o segundo eixo y.

import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.axes_grid1 import host_subplot

Gerar dados

Em seguida, precisamos gerar nossos dados x e y. Geraremos uma onda senoidal para este exemplo.

xx = np.arange(0, 2*np.pi, 0.01)
yy = np.sin(xx)

Criar o gráfico

Agora podemos criar nosso gráfico usando a função host_subplot. Esta função cria um subplot com dois eixos y.

ax = host_subplot(111)
ax.plot(xx, yy)

Criar o segundo eixo y

Para criar o segundo eixo y, precisamos criar um novo objeto de eixo usando a função twin.

ax2 = ax.twin()

Definir rótulos de marcação para o segundo eixo y

Podemos definir os rótulos de marcação para o segundo eixo y usando a função set_xticks e passando as localizações e rótulos de marcação como argumentos.

ax2.set_xticks([0., .5*np.pi, np.pi, 1.5*np.pi, 2*np.pi],
               labels=["$0$", r"$\frac{1}{2}\pi$",
                       r"$\pi$", r"$\frac{3}{2}\pi$", r"$2\pi$"])

Ocultar rótulos de marcação para o eixo y direito

Podemos ocultar os rótulos de marcação para o eixo y direito usando a função major_ticklabels.set_visible.

ax2.axis["right"].major_ticklabels.set_visible(False)

Mostrar rótulos de marcação para o eixo y superior

Podemos mostrar os rótulos de marcação para o eixo y superior usando a mesma função major_ticklabels.set_visible.

ax2.axis["top"].major_ticklabels.set_visible(True)

Exibir o gráfico

Finalmente, podemos exibir nosso gráfico usando a função show.

plt.show()

Resumo

Neste tutorial, aprendemos como criar um gráfico simples com dois eixos y usando Matplotlib. Usamos o módulo host_subplot para criar o gráfico e o módulo mpl_toolkits.axes_grid1 para criar o segundo eixo y. Geramos nossos dados usando numpy e exibimos o gráfico usando matplotlib.pyplot.