Subplots em Python – Criando gráficos Parte 3

Entre para nossa lista e receba conteúdos exclusivos!

Os subplots em Python são um poderoso recurso para a plotagem e estilização de várias box’s de gráficos numa mesma tela. De fato, com eles torna-se simples e fácil estabelecer vários gráficos lado a lado de modo que a comparação de valores, comportamento de curvas e análises de dados tornem-se essencialmente simples, belas e práticas. Ademais, esse recurso é facilmente implementando com a biblioteca matplotlib.

Nesse sentido, nesse artigo nos trazemos a parte 3 da série de tutoriais sobre criação gráfica com Python. Com efeito, ao longo desse texto exploraremos a implementação dos subplots como ferramenta para plotagem múltipla de várias bases de dados. Assim, vamos explorar a plotagem com esse recurso tanto de forma vertical, horizontal ou mesmo com matriz o que permite uma plotagem de diversas janelas gráficas. Então gurunauta, vem conosco que hoje vamos mergulhar dentro dessa incrível funcionalidade que é os subplots.

Entendendo o que são subplots em Python

Então, inicialmente vamos entender precisamente o que são os Subplots. Com efeito, eles são uma funcionalidade da biblioteca Matplotlib do Python que permite criar e organizar múltiplos gráficos em uma única figura. Assim, com o uso de subplots, você pode exibir vários gráficos lado a lado ou em um arranjo personalizado onde cada célula “o subplot” é identificado e rotulado por um índice o qual especifica sua posição na grade.

Assim, para introdução de subplots num dado código em Python se faz necessário o uso da função subplot(). Ademais, essa função recebe três argumentos principais em () que são:

  • o número de linhas da grade,
  • o número de colunas da grade,
  • o índice do subplot atual.

De fato, então podemos iniciar nosso programa com subplots importando nossa biblioteca de plotagem: matplotlib e numpy para eventuais necessidades. Desse modo teremos o seguinte:

onde acima nós introduzimos a criação do ambiente de subplots pelo comando axs. Entretanto, poderíamos ter iniciado com qualquer outro nome, no fundo ele representa apenas uma variável.

Localizando os subplots

Com efeito, a partir do momento que chamamos os subplots somos capazes de utilizá-los para a plotagem múltipla uma vez que é criando espaços vazios numa caixa de plotagem. Entretanto, é importante sabermos algumas considerações que se associam com a forma como utilizamos a função plt.subplots(). Então, nesse sentido vamos as seguintes descrições:

  • axs = plt.subplots(4). Esse comando cria 4 espaços de plotagem que seguirão a disposição vertical. Assim, os 10 gráficos rotulados com 0,1,2,3 e 4 (Sim a contagem começa de zero!) serão plotados horizontalmente um abaixo do outro.
    • A variável axs é a caixa de plotagem que é acessada com o índice por: axs[linha,coluna]. Todavia, você poderia definir a seguinte forma: (axs0, axs1,axs2,axs3)= plt.subplots(4) nesse caso cada axs0 declarado se torna uma variável associada a posição de plotagem.
  • O caso para a plotagem de gráficos dispostos na vertical é acessado ao passo que introduzimos dois índices. Assim, imagine que queria plotar dois gráficos um do lado do outro na horizontal então, segue que o comando correto seria axs = plt.subplots(1,2). Nesse caso, temos que o índice de linha corre em 0 apenas (isto é ele fica fixado na linha 0) e corre de 0 até 1 na coluna, ou seja, plotar dois gráficos lado a lado é na verdade fazer uma matriz com duas colunas.

Com intuito de tornar mais claro e evidente a disposição matricial feita elaboramos a seguinte figura esquemática que contém o caso de uma box de plotagem da forma: axs = plt.subplots(3,3). De fato, como temos 3×3 isso nos gera um figura de com 9 espaços de plotagem!.

rotulos e posição de subplots em Python.
Figura 1. Rótulos e posição de subplots em Python. Fonte: Do autor.

Comandos com as células de plotagem!

Ademais, há um adendo necessário a ser feito com relação a forma com que estabelecemos comandos em uma célula de subplot no Python. Com efeito, é necessário fazermos algumas modificações, em particular citamos a seguir algumas delas.

  • Toda vez que você desejar plotar algo deverá acessar o ambiente de plotagem especificando a linha i e a coluna j do seu subplot.
  • A forma com que você introduz títulos, legendas e afins é modificado requerendo o uso da sintaxe set_. Em particular, veja alguns exemplos:
    • axs[linha i, coluna j].set_title(“título”),
    • axs[linha i, coluna j].set_xlabel(“legenda do eixo x”),
    • axs[linha i, coluna j].set_ylabel(“legenda do eixo y”).
  • Todos os ambientes de plotagem querem o uso do set e você deve sempre especificar os ambientes que estão sendo acessados pois agora precisará especificar cada propriedade de cada ambiente.
  • O comando plt.title(“”) ainda é eficaz para estabelecer um título geral para a janela de plotagem como um todo.
  • É possível plotar mais de uma curva em cada ambiente de plotagem do subplots!.

Usando subplots na prática !

Agora, com intuito de irmos a prática vamos colocar a mão na massa e realizar uma plotagem de vários gráficos em Python. Certamente, você já deve ter entendido que iremos nos valer dos subplots aqui. Então, nesse sentido iremos primeiro plotar gráficos dispostos verticalmente, horizontalmente e faremos ainda o caso geral onde estabeleceremos a plotagem de 4 curvas numa única figura.

Subplots em Python na horizontal e vertical !

Então, para nosso esquema faremos o seguinte procedimento: plotaremos gráficos da função sen(kx) e cos(kx) para vários valores de k. Ademais, teremos duas janelas e cada janela conterá 10 curvas associadas a diferentes valores de k que serão 1,2,3 e 4 o que permitirá a nós estudarmos o comportamento dessas duas funções trigonométricas. Assim, nesse sentido primeiro plotaremos as duas curvas para k =1 apenas:

Código para a plotagem de subplots em Python.
Observe que todas as estilizações que vimos anteriormente ainda continuam valendo.

Ademais, a versão horizontal é a seguinte.

Perceba como o Python entende com a entrada (1,2) que ainda estamos apenas em um único vetor e não requeremos o uso de dois índices para a especificação dos axs.

Agora, mostraremos como podemos estabelecer os subplots verticais e horizontais cada um contendo 4 curvas. Com efeito, isso mostrará a você como é poderoso o uso do subplots, logo, veja os seguintes gráficos.

Uma matriz 2×2 com Subplots em Python!

Agora, vamos introduzir uma matriz 2×2 para a plotagem. Decerto, cabe aqui fazer uma consideração importante sobre a estética dos subplots. Em verdade, para pessoas que possuem pequenos monitores o uso de subplots com números excessivamente grandes irá se tornar excessivamente deselegante e complicado. Portanto, saiba que por vezes esse recurso deve ser usado para casos em que você tenha uma quantidade aceitável de gráficos. Assim, você de fato poderá extrair gráficos bonitos que te trarão informações relevantes para você em seus estudos e/ou apresentações.

Nesse sentido, vamos então a plotagem. Com efeito, plotaremos 4 curvas que são as funções coseno, seno, tangente e uma parábola e faremos a identificação de cada subplot associado. Assim, teremos quatro gráficos em uma única janela conforme mostramos a seguir.

gráficos gerados em 4x4 com subplots em Python para geração de múltiplos gráficos.

Referências

Outros Artigos

Legal

® 2021-2024 Meu Guru | 42.269.770/0001-84 • Todos os direitos reservados

Entre para nossa lista e receba conteúdos exclusivos!