Adicionar Subplot a uma figura em Matplotlib
-
Adicionar Subplot a uma figura utilizando o método
Matplotlib.figure.Figure.add_subplot()
-
Criar figura com subparcelas utilizando
Matplotlib.pyplot.subplots()
Este tutorial explica como podemos adicionar subquadrantes a uma figura Matplotlib utilizando o método Matplotlib.figure.Figure.add_subplot()
em Python.
Adicionar Subplot a uma figura utilizando o método Matplotlib.figure.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:
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:
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:
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:
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.