matplotlib
matplotlib é a biblioteca fundamental de plotagem do Python. Controle figuras, eixos e todos os elementos gráficos para gráficos estáticos de qualidade para publicação.
Busque em todas as páginas da documentação
matplotlib é a biblioteca fundamental de plotagem do Python. Controle figuras, eixos e todos os elementos gráficos para gráficos estáticos de qualidade para publicação.
Cartão de receita de referência rápida - pronto para copiar e colar.
import matplotlib.pyplot as plt
fig, ax = plt.subplots(figsize=(8, 4))
ax.plot([1, 2, 3], [4, 1, 3], label="Series A")
ax.set(xlabel="Month", ylabel="Revenue", title="Q1 Performance")
ax.legend()
fig.savefig("q1.png", dpi=150, bbox_inches="tight")
plt.close(fig)Quando usar isso:
.plot ou visualizações personalizadasimport matplotlib.pyplot as plt
import numpy as np
months = np.arange(1, 13)
east = np.array([120, 130, 125, 140, 150, 155, 160, 158, 162, 170, 175, 180])
west = np.array([100, 105, 110, 108, 115, 120, 118, 122, 125, 130, 128, 135])
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10, 4), sharey=True)
ax1.plot(months, east, marker="o", color="#2c7bb6", label="East")
ax1.plot(months, west, marker="s", color="#fdae61", label="West")
ax1.set(xlabel="Month", ylabel="Revenue ($k)", title="Regional Trends")
ax1.legend()
ax1.grid(True, alpha=0.3)
width = 0.35
ax2.bar(months - width/2, east, width, label="East", color="#2c7bb6")
ax2.bar(months + width/2, west, width, label="West", color="#fdae61")
ax2.set(xlabel="Month", title="Side-by-Side Comparison")
ax2.legend()
fig.suptitle("2025 Revenue Dashboard", fontsize=14)
fig.tight_layout()
fig.savefig("dashboard.png", dpi=200, bbox_inches="tight")
plt.close(fig)O que isso demonstra:
fig e ax explícitossharey para escalas comparáveissuptitle, tight_layout e exportação de alta DPIFigure contém os elementos gráficos (artists); Axes fornece o sistema de coordenadas e os métodos de plotagem.plt.plot) funciona bem em notebooks; prefira a abordagem OO em módulos.draw - savefig renderiza fora da tela.matplotlib.rcParams ou em folhas de estilo.| Método | Propósito |
|---|---|
plot | Linhas e marcadores |
bar / barh | Comparações categóricas |
hist | Distribuições |
scatter | Duas variáveis numéricas |
annotate | Chamadas de atenção (callouts) |
import matplotlib.pyplot as plt
# Non-interactive backend for servers
import matplotlib
matplotlib.use("Agg")
# Date formatting on x-axis
import matplotlib.dates as mdates
ax.xaxis.set_major_formatter(mdates.DateFormatter("%Y-%m"))fig, ax = plt.subplots() e plt.close(fig).tight_layout esquecido - rótulos dos eixos são cortados em PNGs salvos. Correção: fig.tight_layout() ou constrained_layout=True na criação.s e aumente alpha.close - milhares de figuras esgotam a RAM. Correção: use plt.close(fig) em cada iteração.| Alternativa | Use Quando | Não Use Quando |
|---|---|---|
| seaborn | Padrões estatísticos e facetas | Você precisa de controle de baixo nível dos elementos gráficos |
| Plotly | Interatividade com hover/zoom | Artigos em LaTeX estático |
| Altair | Especificações declarativas de gramática | Anotações altamente personalizadas |
| ggplot (plotnine) | Familiaridade com ggplot do R | Equipe padronizada em matplotlib |
Figure é o contêiner; Axes é uma área de plotagem.pyplot é um atalho com estado - conveniente, mas frágil em aplicações.import matplotlib.pyplot as plt
plt.rcParams.update({"font.size": 12})ax.tick_params(axis="x", rotation=45)ax2 = ax.twinx()
ax2.plot(x, other_series, color="tab:orange")fig, axes = plt.subplots(2, 2, figsize=(8, 8))
axes[0, 1].plot(x, y)ax.plot separadamente com rótulos.Agg ausente em servidores headless.savefig antes de close.%matplotlib inline para estático; evite DPIs enormes em notebooks.ax.set_yscale("log")Versões da Pilha: Esta página foi escrita para Python 3.14.0 (estável 3.14, manutenção 3.13), FastAPI 0.115+, Django 5.2, Flask 3.1, Pydantic 2, PyTorch 2.6+, pandas 2.2+, Polars 1.x, ruff 0.9+, e uv 0.6+.
Revisado por Chris St. John·Última atualização: 16 de jul. de 2026