Múltiplos gráficos de funções com Python – Parte 2

Entre para nossa lista e receba conteúdos exclusivos!

Nesse artigo faremos um tutorial sobre múltiplos gráficos de funções com Python. De fato, em nosso primeiro tutorial sobre gráficos em Python exploraremos inicialmente a ideia de construirmos gráficos com apenas uma função. Todavia, os recursos da linguagem permitem a nós construirmos muito além de simples gráficos apenas. Com efeito, nesse artigo exploraremos várias funcionalidades da biblioteca matplotlib.pyplot no intuito de construirmos vários gráficos em Python.

Além disso, nós ainda exploraremos alguns tipos de plotagem diferente com o uso de parametrizações da matemática. Decerto, as parametrizações permitirão a nós que possamos esboçar algumas curvas interessantes como círculos e elípses o que pode ser extremamente útil em diversos casos. Tendo isso em vista, vamos agora ao nosso artigo!.

Por que pensar em múltiplos gráficos?

De início, vamos trazer uma motivação para múltiplos gráficos. Com efeito, vale-se pensar em ter múltiplos gráficos por vários motivos de ordem prática sendo esses:

  • Modelos de estudos que possuem várias funções associadas,
  • Comparação de diferentes funções que possam se adequar de forma mais precisa ao seu modelo,
  • Plotagem de vários conjuntos de dados vindos de várias simulações.

Em verdade, esses são apenas alguns motivos para se pensar em plotar vários gráficos. Ademais, a plotagem múltipla pode ainda ser diferentes tipos, em particular, citamos dois que serão abordados aqui:

  • Plotagem de vários vetores em um único box. Nesse caso, várias funções (correspondendo a vetores no Python) são plotadas numa única caixa de plots, assim, você tem uma única janela de visualização com todas as funções postas juntas.
  • Plotagem de vários vetores em diferentes casos. Com efeito, nesse caso as funções são plotadas em diferentes janelas de visualização e essas janelas podem ser apresentadas em um único quadro com todas dispostas verticalmente ou horizontalmente ou ainda podemos ver essas plots de modo que tenhamos um plot e ao fechar essa janela de visualização teremos outro plot logo em seguida.

O segundo caso requer o uso dos subplots que são uma ferramenta muito poderosa do Python. Todavia, dada sua extensão daremos nesse artigo apenas uma pequena amostra do poder dessa ferramenta. Em verdade, em nosso artigo de parte 3 dessa série exploraremos exclusivamente os subplots. De fato, ainda temos muito a aprender antes de chegarmos nesse recurso avançado. Então, dito isso, vamos agora por a mão na massa e plotar vários gráficos com Python!.

Múltiplos gráficos: Plotagem de várias funções

Com efeito, agora iniciaremos a a plotagem de múltiplos gráficos com Python. Ademais, faremos isso inicialmente com uma única janela de visualização e plotaremos todas as funções no mesmo box. Então, para começarmos iremos considerar duas funções matemáticas que serão as funções seno e cosseno no intervalo de 0 até 2pi.

Então, com isso precisaremos inicialmente de duas bibliotecas: numpy e matplotlib.pyplot. Com efeito, importaremos as bibliotecas a seguir renomeando-as para np e plt em respectiva ordem.

Importação das bibliotecas numpy e matplotlib.pyplot para o tutorial em múltilos gráficos de funções em Python.

Agora, vamos definir o intervalo de x de 0 até 2pi e as funções seno e cosseno com o uso da biblioteca numpy como segue abaixo.

Definições de múltiplas funções em Python.

Agora, com as definições já postas vamos fazer a plotagem múltipla dos gráficos num mesmo plot. Com efeito, a única coisa que faremos é simplesmente empregar dois comandos plt.plot() um para a função f(x) e outro para a função g(x). Nesse sentido, teremos o seguinte código e resultado de execução.

Código e plotagem em Python de múltiplos gráficos.

Todavia, você deve ter visto que esse tipo de plotagem gera um grande problema para nós. Com efeito, nós, apenas ao olharmos o gráfico acima não conseguimos identificar corretamente qual curva a azul ou laranja é a correspondente ao seno e cosseno. Nesse sentido, na seção seguinte exploraremos como é possível contornar esse problema.

Estilização e identificação de múltiplos gráficos em Python

Evidentemente, algumas pessoas, que tenham certo conhecimento matemático, saberão identificar as curvas plotadas na seção acima visto que essas funções são deveras conhecidas. Entretanto, ao plotar vários gráficos devemos ter noção de resolver o problema de: identificar corretamente os gráficos de modo que seja possível tornar a leitura gráfica o mais simples possível. Com efeito, nem sempre sua curva será um seno e um cosseno que é simples e conhecido.

Parâmetros label, linestyle e color no matplotlib.

Nesse sentido, vamos estudar dois parâmetros extra do comando plot(). Então, os três parâmetros que usaremos é label, color e o linestyle de modo que teremos a seguinte estrutura para o comando plot():

  • plt.plot(vetor do eixo x, vetor do eixo y, label = “legenda gráfica”, color = “nome da cor”, linestyle = “estilo da linha”)
    • O parâmetro label = “legenda gráfica” associa a esse plot uma legenda que pode ou não ser exibida no gráfico ao realizar a plotagem. Com efeito, esse parâmetro especificará visualmente para quem ver o gráfico quais curvas estamos nos referindo.
    • O parâmetro color é essencialmente autoexplicativo. Decerto, ele personaliza a cor da sua curva e isso pode ser muito interessante quando você tiver vários gráficos (mais de 2 funções) pois uma boa escolha de cores tornará seus resultados mais elegantes e visualmente mais agradáveis do que apenas a escolha por Default do Python.
    • O último parâmetro que usaremos é o linestyle o qual introduz um parâmetro de estilo de linha que permite que você personalize como será a linha do seu gráfico, isto é sólida (Default do Python), pontilhada, espaçada, dentre outras.

Com relação as cores há várias escolhas possíveis que são disponibilizadas pelo matplotlib que podem ser acessadas na documentação oficial apenas clicando aqui. Ademais, os estilos de linhas mais utilizados são apresentados a seguir com seus respectivos rótulos.

Fonte: Do autor.

Entretanto, caso deseje mais estilos de linhas pode acessar essa documentação aqui. Ademais, podemos agora prosseguir e resolver o problema que apresentamos anteriormente.

Plotagem de múltiplos gráficos de funções com estilizações em Python

Então, uma forma de fazer isso é personalizando os gráficos e (apenas para mostrar que é possível) vamos personalizar a grid apresentada também. Com efeito, isso nos dará o seguinte código e gráfico.

Código e plotagem em Python de múltiplos gráficos e estilização e legendas com Python.

onde a função legend() é inserida de modo que os rótulos das funções possam aparecer nos gráficos. Além disso, utilizamos os $$ nesses labels visto que ao empregar essa notação o matplotlib entende que a expressão deve ser apresentada em LaTeX o que melhora a apresentação e a torna mais elegante.

Múltiplos gráficos: Uma introdução aos subplots!

Agora, vamos atacar o segundo problema, em verdade, faremos apenas uma introdução a esse tema visto que apenas ele merece um artigo específico. De fato, os subplots são uma forma de plotar gráficos em Python de modo que seja apresentada vários gráficos, cada um em uma box sob uma mesma janela de visualização. Para isso, vamos a forma de implementar tal funcionalidade.

Primeiro de tudo, é necessário que você crie um ambiente para tal plotagem. Com efeito, esse ambiente é criado pela seguinte sintaxe e resultado.

gráfico único com subplots em Python.

O ambiente ax agora é onde plotamos nossas funções. Veja que todas as configurações antes usadas não são herdadas. De fato, o ambiente ax é totalmente diferente do ambiente plt logo todos os rótulos de eixos, grid e títulos devem definem-se novamente com ax.grid(), ax.set_title(), ax.set_xlabel() e ax.set_ylabel().

No entanto, esse ambiente permitirá a nós a criação de vetores e várias janelas gráficas. Com efeito, veja o seguinte exemplo.

Código e plotagem em Python de múltiplos gráficos com uso do subplots.

Com o código acima conseguimos plotaremos três funções onde os ambientes ax definem-se na verdade, por ax1,ax2 e ax3 todavia você pode usar qualquer nome para isso. De fato, isso é apenas uma variável em Python. Ademais, esse é um exemplo de uso de subplots onde empregamos vários plots numa mesma janela de visualização e os vetores ficam plotados em caixas separadas.

Todavia, o poder dos subplots vai muito além disso, com efeito, eles podem te dar vários gráficos, tantos quanto você queira (evidentemente é bom pensar em algo razoável gurunauta). Nesse sentido, em nosso próximo artigo dessa série exploraremos mais afundo a plotagem múltipla com o uso exclusivo de subplots!.

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!