Entendendo o matplotlib#

Matplotlib é uma biblioteca de Python voltada para a criação de gráficos, permitindo gerar figuras com alta qualidade para publicação em diversos formatos. A biblioteca possibilita a criação de gráficos de pontos e linhas, histogramas, densidades espectrais, gráficos de superfície e outros tipos, com apenas algumas linhas de código.

import numpy as np
import matplotlib.pyplot as plt

Conceitos do Matplotlib#

A biblioteca matplotlib é composta por um grande número de funções, o que pode ser intimidador para iniciantes. O objetivo principal da biblioteca é facilitar a visualização de dados, oferecendo todo o controle necessário. Na maioria das situações, o usuário utilizará comandos simples e de alto nível, mas sempre mantendo a possibilidade de usar comandos mais específicos e de baixo nível, que permitem ajustar detalhes precisos dos gráficos.

O Matplotlib foi projetado com os seguintes objetivos (de acordo com a documentação do mpl):

  • Os gráficos devem ter uma ótima aparência – qualidade para publicação (por exemplo, antialiasing)

  • Saída vetorial para inclusão em documentos TeX

  • Integrável em uma interface gráfica para o desenvolvimento de aplicações

  • O código deve ser fácil de entender e estender

  • Criar gráficos deve ser fácil

  • Os padrões devem ser bons, mas a personalização deve ser possível

O Matplotlib é principalmente para dados 2D, mas há algumas interfaces básicas para 3D (superfície). Dados dessa forma exigem uma abordagem diferente.

Galeria#

O Matplotlib tem uma ótima galeria em seu site — encontre algo lá que seja próximo do que você está tentando fazer e use como ponto de partida:

https://matplotlib.org/stable/gallery/index.html

Hoje em dia, acredito que você poderia simplesmente perguntar ao ChatGPT: “Crie um gráfico no Matplotlib com quatro subpainéis organizados em uma grade 2x2, com eixos compartilhados, um mapa de cores no painel superior e uma legenda no painel inferior.”

Anatomia de uma figura#

Figuras são o objeto de nível mais alto e podem incluir múltiplos eixos

(figura de: http://matplotlib.org/faq/usage_faq.html#parts-of-a-figure )