Skip to content

Dominando os Tamanhos das Figuras no Matplotlib: Um Guia Abrangente

Compreender como controlar o tamanho das figuras no Matplotlib, uma popular biblioteca de visualização de dados em Python, é crucial para produzir gráficos de alta qualidade. Neste guia abrangente, exploraremos vários métodos para definir tamanhos de figuras no Matplotlib, seja criando uma nova figura ou modificando uma existente.

Compreendendo os Tamanhos das Figuras no Matplotlib

O Matplotlib opera de forma semelhante ao MATLAB. Ao criar uma figura, você pode especificar o tamanho da figura em polegadas. A função figure() é usada para criar uma nova figura e ela recebe o argumento figsize, que representa a largura e altura da figura em polegadas. Geralmente é fornecido como uma tupla (largura, altura).

Aqui está um exemplo simples de criação de uma figura com tamanho específico:

from matplotlib.pyplot import figure
 
## Criar uma nova figura com tamanho específico (largura=8 polegadas, altura=6 polegadas)
figure(figsize=(8, 6))

No trecho de código acima, a função figure() é chamada com o parâmetro figsize definido como (8, 6). Isso cria uma figura com 8 polegadas de largura e 6 polegadas de altura.

Ajustando o Tamanho da Figura Após a Criação

Às vezes, pode ser necessário ajustar o tamanho de uma figura após sua criação. A biblioteca Matplotlib fornece a função set_size_inches() para tornar isso possível.

Veja como usar essa função:

import matplotlib.pyplot as plt
 
## Criar uma nova figura
fig = plt.gcf()
 
## Definir tamanho da figura para 18.5x10.5 polegadas
fig.set_size_inches(18.5, 10.5)
 
## Salvar a figura
fig.savefig('figure.png', dpi=100)

Nesse trecho de código, a função gcf() (que significa 'get current figure') é usada para obter a figura atual e, em seguida, seu tamanho é definido usando o método set_size_inches().

Aproveitando plt.rcParams

Outra forma de definir o tamanho da figura no Matplotlib é usando o parâmetro plt.rcParams, especialmente útil quando se usa plt.plot() e não se deseja usar o ambiente de figura.

Segue um exemplo simples:

import matplotlib.pyplot as plt
 
## Definir tamanho da figura para 20x3
plt.rcParams["figure.figsize"] = (20,3)

Neste trecho de código, o dicionário rcParams é usado para definir o tamanho da figura. Essa abordagem é extremamente útil ao plotar inline, como dentro de um notebook Jupyter.

Definindo o Tamanho da Figura em Centímetros

Embora a tupla figsize aceite polegadas, se você deseja definir o tamanho em centímetros, será necessário converter as dimensões de centímetros para polegadas (pois 1 polegada equivale a 2.54 cm).

Veja como fazer isso:

## Definir tamanho da figura em centímetros
largura_cm = 20
altura_cm = 10
 
## Converter cm para polegadas
largura_poleg = largura_cm/2.54
altura_poleg = altura_cm/2.54
 
## Criar uma nova figura com tamanho específico
figure(figsize=(largura_poleg, altura_poleg))

Neste exemplo, primeiro especificamos a largura e altura em centímetros. Essas dimensões são então convertidas para polegadas dividindo-as por 2.54. Por fim, as dimensões convertidas são usadas para criar uma nova figura com o tamanho especificado.

Usando rcParams para Ajuste do Tamanho da Figura

É importante destacar a flexibilidade e o poder da abordagem rcParams. Essa estratégia permite que você defina configurações padrão para suas figuras, garantindo consistência em todos os gráficos em seu script ou notebook. Na próxima seção, veremos como aproveitar o rcParams para ajustar o tamanho das figuras dinamicamente.

Alterando Dinamicamente o Tamanho da Figura com o rcParams

Como mencionado anteriormente, o rcParams não é apenas útil para definir o tamanho da figura uma vez, mas também oferece uma maneira eficiente de ajustar o tamanho das figuras para todo o ambiente de codificação de forma dinâmica. Essa abordagem é especialmente benéfica ao trabalhar em projetos maiores, onde pode ser necessário estilos e dimensões de plotagem consistentes.

O tamanho global da figura pode ser restaurado para o padrão usando o atributo rcParamsDefault. Veja como:

plt.rcParams["figure.figsize"] = plt.rcParamsDefault["figure.figsize"]

Nesse código, o atributo rcParamsDefault contém as configurações padrão, efetivamente restaurando o tamanho da figura para as dimensões originais.

Controlando os Tamanhos das Figuras Usando o Pandas

O Pandas, uma biblioteca usada para manipulação e análise de dados, muitas vezes trabalha em conjunto com o Matplotlib para visualizações. Se você deseja ajustar o tamanho da figura ao trabalhar com o Pandas, pode definir diretamente o parâmetro figsize dentro da função de plotagem da seguinte forma:

df['alguma_coluna'].plot(figsize=(10, 5))

Neste exemplo, df é um DataFrame do Pandas e estamos criando um gráfico para 'alguma_coluna' com tamanho de 10x5 polegadas.

Você também pode definir o tamanho da figura ao criar subplots:

fig, ax = plt.subplots(figsize=(10, 5))
df['alguma_coluna'].plot(ax=ax)

Ajustando o Tamanho Padrão da Figura

Deseja alterar a configuração do tamanho padrão da figura? Sem problemas. O Matplotlib facilita isso, permitindo que você atualize as configurações padrão:

import matplotlib
 
matplotlib.rc('figure', figsize=(10, 5))

Nesse código, a função matplotlib.rc é usada para alterar o tamanho padrão da figura. Agora, todos os gráficos criados terão um tamanho de 10x5 polegadas.

Alternativa ao Matplotlib: Visualize Dados com o PyGWalker

Além de usar o Matplotlib para visualizar seu DataFrame do Pandas, aqui está uma alternativa, uma biblioteca de Python de código aberto que pode ajudar você a criar visualizações de dados com facilidade: PyGWalker (opens in a new tab).

PyGWalker for Data visualization (opens in a new tab) Não é mais necessário realizar processamentos complicados com código Python, basta importar seus dados e arrastar e soltar variáveis para criar todos os tipos de visualizações de dados! Aqui está um vídeo demonstrativo rápido sobre a operação:


Veja como usar o PyGWalker no seu Jupyter Notebook:

pip install pygwalker
import pygwalker as pyg
gwalker = pyg.walk(df)

Alternativamente, você pode testá-lo no Kaggle Notebook/Google Colab:

Execute o PyGWalker no Kaggle Notebook (opens in a new tab)Execute o PyGWalker no Google Colab (opens in a new tab)Dê uma ⭐️ para o PyGWalker no GitHub (opens in a new tab)
Execute o PyGWalker no Kaggle Notebook (opens in a new tab)Execute o PyGWalker no Google Colab (opens in a new tab)Execute o PyGWalker no Google Colab (opens in a new tab)

O PyGWalker é construído com o suporte da nossa comunidade de código aberto. Não se esqueça de conferir o PyGWalker GitHub (opens in a new tab) e nos dar uma estrela!

Perguntas Frequentes:

  1. Como definir o tamanho da figura no Matplotlib?

    Você pode definir o tamanho da figura no Matplotlib usando a função figure() com o parâmetro figsize. O parâmetro figsize aceita uma tupla, representando a largura e altura da figura em polegadas.

  2. Como ajustar o tamanho de uma figura existente no Matplotlib?

    Para ajustar o tamanho de uma figura existente, use a função set_size_inches(). Esta função permite definir a largura e altura da figura atual.

  3. É possível definir o tamanho da figura nos gráficos do Pandas?

    Sim, você pode ajustar o tamanho da figura diretamente dentro da função plot() do Pandas usando o parâmetro figsize.