Adicionar Subplot a uma figura em Matplotlib

Suraj Joshi 30 janeiro 2023
  1. Adicionar Subplot a uma figura utilizando o método matplotlib.pyplot.figure.add_subplot()
  2. Criar figura com subparcelas utilizando Matplotlib.pyplot.subplots()
Adicionar Subplot a uma figura em Matplotlib

Este tutorial explica como podemos adicionar subquadrantes a uma figura Matplotlib utilizando o método matplotlib.pyplot.figure.add_subplot() em Python.

Adicionar Subplot a uma figura utilizando o método matplotlib.pyplot.figure.add_subplot()

import matplotlib.pyplot as plt

fig = plt.figure(figsize=(5, 5))

x = [1, 2, 3, 4, 5]
y = [2, 4, 5, 1, 2]

subplot = fig.add_subplot(1, 1, 1)
subplot.plot(x, y)

fig.suptitle("Figure with only one Subplot")
plt.show()

Resultado:

Adicionar uma subparcela à figura matplotlib

Gera uma figura com apenas uma subparcela. A figura pode ser interpretada como um elemento de alto nível contendo todas as subparcelas e outros elementos da figura. Inicializamos primeiro o objecto da figura de tamanho (5,5) e depois adicionamos um subplot à figura utilizando o método add_subplot(). O primeiro argumento ao método add_subplot() representa o número de linhas de subplot na figura, o segundo argumento representa o número de colunas de subplot, e o terceiro argumento representa a posição de um subplot na grelha.

Aqui, fig.add_subplot(1,1,1) irá adicionar um subplot na primeira posição da grelha 1 X 1 na figura. Alternativamente, podemos também utilizar fig.add_subplot(111) para obter o mesmo resultado. O método add_subplot() devolve um objecto axes, que pode ser utilizado para traçar e adicionar detalhes ao subplot adicionado.

import matplotlib.pyplot as plt

fig = plt.figure(figsize=(8, 6))

ax_1 = fig.add_subplot(121)
ax_1.text(0.3, 0.5, "subplot(121)")

ax_2 = fig.add_subplot(222)
ax_2.text(0.3, 0.5, "subplot(222)")

ax_3 = fig.add_subplot(224)
ax_3.text(0.3, 0.5, "subplot(224)")

fig.suptitle("Figure with multiple Subplots")
plt.show()

Resultado:

Adicionar múltiplos subquadrantes a um matplotlib de figura

Aqui, temos uma figura com três subquadrantes. A primeira subparcela é a primeira figura da grelha com uma linha e duas colunas. A segunda subparcela representa a segunda figura da grelha com duas filas e duas colunas. Da mesma forma, a terceira linha representa a subparcela na quarta posição da grelha com duas filas e duas colunas.

Criar figura com subparcelas utilizando Matplotlib.pyplot.subplots()

O Matplotlib.pyplot.subplots() também adiciona subplots à figura. Passamos o número de linhas e colunas como argumento para o método, e o método devolve um objecto figura e um objecto eixos, que pode ser utilizado para manipular a parcela.

import matplotlib.pyplot as plt

fig, ax = plt.subplots(2, 1)

ax[0].text(0.3, 0.5, "1st Subplot")
ax[0].set_xticks([])
ax[0].set_yticks([])

ax[1].text(0.3, 0.5, "2nd Subplot")
ax[1].set_xticks([])
ax[1].set_yticks([])

fig.suptitle("Figure with 2 subplots", fontsize=16)
plt.show()

Resultado:

Adicionamos múltiplos subquadrantes a uma figura matplotlib utilizando o método dos subquadrantes

Gera uma figura com duas sub-parcelas numa grelha de duas linhas e uma única coluna utilizando o método subplots(). A primeira subparcela ou os eixos no topo podem ser manipulados com o primeiro elemento da lista ax, e a segunda subparcela ou eixos no fundo podem ser manipulados com o segundo elemento da lista ax.

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y1 = [i ** 2 for i in x]
y2 = [4 * i + 1 for i in x]

fig, ax = plt.subplots(2, 1)

ax[0].plot(x, y1)
ax[0].set_xlabel("X")
ax[0].set_ylabel("Y")

ax[1].plot(x, y2)
ax[1].set_xlabel("X")
ax[1].set_ylabel("Y")

plt.tight_layout()
plt.show()

Resultado:

Personalizar subquadrantes a uma figura matplotlib utilizando o método de subquadrantes

Gera uma figura com dois subquadrantes, traça a função x^2 no subquadrantes superior, e traça a função 4x+1 no subquadrantes inferior.

Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

Artigo relacionado - Matplotlib Subplot