Tamanho de fonte
Alto contraste
Altura de linha
Entrar Cadastrar

Como Ajustar e Alterar o Tamanho de Figuras no Matplotlib

Avatar de Luiza Cherobini Pereira Luiza Cherobini Pereira
9 minutos de leitura 08/12/2025 • Atualizado 2 dias atrás 5xp

Quando se trata de visualização de dados em Python, o Matplotlib é uma das bibliotecas mais populares e poderosas disponíveis. Para cientistas de dados, analistas e entusiastas de Python intermediário, ajustar o tamanho da figura é uma tarefa comum para garantir que os gráficos sejam legíveis e esteticamente agradáveis.

Neste tutorial completo, vamos explorar todos os métodos disponíveis para redimensionar figuras no Matplotlib, desde a criação inicial até ajustes dinâmicos e configurações globais para ambientes como Jupyter Notebooks.

Entendendo o Conceito de Figura no Matplotlib

Antes de mergulharmos nos exemplos, é importante entender o que é uma “figura” no contexto do Matplotlib. Uma figura representa a janela ou a página inteira onde os elementos gráficos são desenhados. Dentro desta figura, podemos ter um ou mais eixos (axes ou plots), que são as áreas onde os dados são efetivamente plotados.

O tamanho da figura é definido em polegadas por padrão, e a resolução é controlada pelo parâmetro DPI (dots per inch ou pontos por polegada).

Definindo o Tamanho na Criação da Figura

A maneira mais direta de definir o tamanho de uma figura no Matplotlib é no momento da sua criação. Você pode especificar o tamanho usando o parâmetro figsize e definir a resolução com o parâmetro dpi.

Exemplo Básico com plt.figure()

from matplotlib.pyplot import figure

# Criar uma figura com um tamanho e resolução específicos
figure(figsize=(8, 6), dpi=80)

Neste exemplo, figsize=(8, 6) cria uma figura com 8 polegadas de largura e 6 polegadas de altura. Se você não especificar o dpi, o padrão será de 80 pixels por polegada.

Ajustando o Tamanho da Figura

Para ajustar o tamanho da figura no Matplotlib, utilizamos o parâmetro figsize que aceita uma tupla representando a largura e a altura da figura em polegadas. Além disso, o parâmetro dpi (dots per inch) controla a resolução da figura.

Exemplo Básico de Ajuste de Tamanho

import matplotlib.pyplot as plt

# Ajustando o tamanho da figura para 10x6 polegadas
plt.figure(figsize=(10, 6))
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
plt.show()
ajustar tamanho da figura no matplotlib

Neste exemplo, criamos uma figura com 10 polegadas de largura e 6 polegadas de altura antes de plotar os dados.

Exemplo com Tamanho Mínimo

# Criar uma figura pequena de 1x1 polegada
plt.figure(figsize=(1, 1))
plt.plot([1, 2, 3], [1, 2, 3])
plt.show()

Utilizando Subplots com Tamanho Personalizado

Quando trabalhamos com múltiplos plots ou preferimos a abordagem orientada a objetos, o ajuste de tamanho pode ser feito durante a criação dos subplots:

import matplotlib.pyplot as plt

# Criando uma figura e um conjunto de subplots com tamanho específico
fig, ax = plt.subplots(figsize=(12, 8))
ax.plot([1, 2, 3, 4], [1, 4, 9, 16])
ax.set_title('Gráfico usando Subplots')
plt.show()

Aqui, figsize é passado como argumento para subplots(), definindo o tamanho para todos os plots dentro da figura. Esta é a abordagem mais recomendada para código moderno em Matplotlib.

Múltiplos Subplots com Tamanho Ajustado

# Criando uma grade 2x2 de subplots com tamanho personalizado
fig, axes = plt.subplots(2, 2, figsize=(14, 10))

# Populando os subplots
axes[0, 0].plot([1, 2, 3], [1, 4, 9])
axes[0, 1].bar(['A', 'B', 'C'], [3, 7, 5])
axes[1, 0].scatter([1, 2, 3], [2, 4, 6])
axes[1, 1].hist([1, 2, 2, 3, 3, 3, 4, 4, 4, 4], bins=4)

plt.tight_layout()  # Ajusta o espaçamento automaticamente
plt.show()
Utilizando subplots para gráficos

Ajustando o Tamanho de uma Figura Existente

Se você já criou uma figura e quer modificar seu tamanho posteriormente, você pode usar o método set_size_inches(). Este método permite ajustar o tamanho da figura em polegadas de forma dinâmica:

import matplotlib.pyplot as plt

# Criar uma figura básica
fig = plt.figure()
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])

# Obter a figura atual e redimensionar
fig = plt.gcf()  # gcf = get current figure
fig.set_size_inches(18.5, 10.5)

# Salvar a figura com o novo tamanho
fig.savefig('grafico_redimensionado.png', dpi=100)
plt.show()

Atualizando Janelas GUI em Tempo Real

Para garantir que a mudança de tamanho afete uma janela de GUI existente, você pode adicionar o parâmetro forward=True:

fig.set_size_inches(18.5, 10.5, forward=True)

Você também pode mudar a resolução da figura usando set_dpi:

fig.set_dpi(100)

Alterando o Tamanho da Figura para Plotagem Inline

Ao plotar inline, como em um IPython Notebook, você pode mudar o tamanho da figura sem usar o ambiente figure ao definir o parâmetro figure.figsize em plt.rcParams:

import matplotlib.pyplot as plt

# Definir o tamanho padrão da figura
plt.rcParams["figure.figsize"] = (20, 3)

Lembre-se de evitar colocar essa instrução na mesma célula que seus comandos de importação. Para redefinir o tamanho da figura para o padrão em gráficos subsequentes, use plt.rcParams:

import matplotlib.pyplot as plt

# Definir o tamanho padrão global para todas as figuras
plt.rcParams["figure.figsize"] = (20, 3)

# Agora todas as figuras criadas terão esse tamanho por padrão
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
plt.show()

plt.plot([4, 3, 2, 1], [1, 4, 9, 16])
plt.show()
alterando o tamanho da figura do gráfico com plotagem

Importante: Evite colocar essa instrução na mesma célula que seus comandos de importação no Jupyter Notebook.

Resetando para o Tamanho Padrão

Para redefinir o tamanho da figura para o padrão original em gráficos subsequentes:

# Restaurar o tamanho padrão
plt.rcParams["figure.figsize"] = plt.rcParamsDefault["figure.figsize"]

Conversão para Centímetros

Se você prefere trabalhar em centímetros, pode converter o tamanho para polegadas dividindo os valores em centímetros por 2,54:

# Definir o tamanho da figura em centímetros
largura_cm = 10
altura_cm = 20
fig.set_size_inches(largura_cm / 2.54, altura_cm / 2.54)

Convertendo Medidas: Centímetros para Polegadas

Como o Matplotlib trabalha com polegadas por padrão, mas muitas vezes trabalhamos com centímetros, é útil saber como converter essas medidas. A conversão é simples: 1 polegada = 2.54 centímetros.

import matplotlib.pyplot as plt

# Definir dimensões em centímetros
largura_cm = 25
altura_cm = 15

# Converter para polegadas (dividindo por 2.54)
largura_pol = largura_cm / 2.54
altura_pol = altura_cm / 2.54

# Criar figura com as dimensões convertidas
plt.figure(figsize=(largura_pol, altura_pol))
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
plt.title('Figura com Dimensões em Centímetros')
plt.show()

Função Auxiliar para Conversão

Você pode criar uma função auxiliar reutilizável:

def cm_para_polegadas(cm):
    """Converte centímetros para polegadas"""
    return cm / 2.54

# Uso
fig, ax = plt.subplots(figsize=(cm_para_polegadas(20), cm_para_polegadas(15)))
ax.plot([1, 2, 3], [1, 4, 9])
plt.show()
convertendo centímetros para polegadas com gráficos

É importante notar que o uso do módulo pylab está depreciado. Em vez disso, você deve usar o módulo matplotlib.pyplot. Se você encontrar código antigo que usa pylab, veja como ele pode parecer:

from pylab import rcParams
rcParams['figure.figsize'] = 5, 10

Isso definiria a largura da figura para 5 polegadas e sua altura para 10 polegadas.

Dicas para Ajuste de Tamanho de Gráficos

1. Considere o Contexto de Uso

O tamanho ideal da figura depende fortemente do contexto onde ela será exibida:

  • Artigos científicos: geralmente requerem figuras entre 3-7 polegadas de largura;
  • Apresentações: figuras maiores (10-16 polegadas) funcionam melhor;
  • Publicações web: considere responsividade e tamanhos entre 8-12 polegadas;
  • Impressão: use DPI alto (300+) e tamanhos apropriados ao formato final.

2. Mantenha a Proporção de Aspecto

Preserve a proporção de aspecto dos seus plots para evitar distorções visuais. Proporções comuns incluem:

  • 16:9 – ideal para apresentações widescreen;
  • 4:3 – formato tradicional de apresentações;
  • 1:1 – quadrado, útil para gráficos de dispersão;
  • 2:1 ou 3:2 – boas proporções para gráficos de linha.
# Exemplo de diferentes proporções
fig, axes = plt.subplots(1, 3, figsize=(18, 4))

# 16:9
axes[0].set_title('Proporção 16:9')
axes[0].set_aspect(16/9)

# 4:3
axes[1].set_title('Proporção 4:3')
axes[1].set_aspect(4/3)

# 1:1
axes[2].set_title('Proporção 1:1')
axes[2].set_aspect(1)

plt.tight_layout()
plt.show()
ajustando tamanhos de gráficos

Conclusão

Ajustar o tamanho da figura no Matplotlib é uma tarefa simples, mas essencial para criar visualizações de dados eficazes. Com o uso do parâmetro figsize e do método set_size_inches, temos controle total sobre o tamanho e a resolução das nossas figuras. Lembre-se de considerar o contexto de uso e a proporção de aspecto para garantir que seus gráficos sejam não apenas informativos, mas também visualmente atraentes. Experimente com diferentes tamanhos e resoluções para encontrar o ajuste perfeito para suas necessidades de visualização de dados.

Trilha Análise e Visualização de Dados

Manipule dados e construa visualizações interativas com as ferramentas mais utilizadas por analistas de dados do mundo.

Comece agora
Imagem de um notebook

Cursos de programação gratuitos com certificado

Aprenda a programar e desenvolva soluções para o seu trabalho com Python para alcançar novas oportunidades profissionais. Aqui na Asimov você encontra:

  • Conteúdos gratuitos
  • Projetos práticos
  • Certificados
  • +20 mil alunos e comunidade exclusiva
  • Materiais didáticos e download de código
Inicie agora

Comentários

30xp
Comentar
Faça parte da discussão Crie sua conta gratuita e compartilhe
sua opinião nos comentários
Entre para a Asimov