Entendendo as subtramas do Matplotlib

Os subplots do Matplotlib nos permitem exibir vários gráficos em uma única figura. Neste artigo, exploraremos as subparcelas do Matplotlib e aprenderemos como usá-las efetivamente em nossos projetos de visualização de dados.



O que são subtramas do Matplotlib?

Os subplots do Matplotlib são uma maneira de exibir vários gráficos em uma única figura. Ao criar subtramas, podemos comparar diferentes conjuntos de dados ou visualizar diferentes aspectos dos mesmos dados em uma única exibição.

As subparcelas são organizadas em um layout de grade, onde cada célula da grade contém uma plotagem.

Para criar subplots no Matplotlib, usamos a função subplots() .

A função subplots() recebe dois parâmetros opcionais, nrows e ncols , que especificam o número de linhas e colunas na grade da subtrama, respectivamente.


Várias parcelas

Nos subplots do Matplotlib, você pode visualizar vários gráficos em uma figura chamando a função subplots() :

Plote os dois gráficos a seguir implementando a função subplot():

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import matplotlib.pyplot as pt
import numpy as npy
#graph 1:
even =npy.array([2, 4, 6, 8, 10])
rev_odd = npy.array([11, 9, 7, 5, 3])
pt.subplot(1, 2, 1)
pt.plot(even, rev_odd)
#graph 2:
odd = npy.array([1, 3, 5, 7, 9])
rev_even = npy.array([10, 8, 6, 4, 2])
pt.subplot(1, 2, 2)
pt.plot(odd,rev_even)
pt.show()
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Adicione dois gráficos em uma linha utilizando a função subplot():

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import matplotlib.pyplot as pt
import numpy as npy
#graph 1:
rand_fact =npy.array([24, 1, 6, 120, 2])
rand_prime = npy.array([17, 57, 23, 2, 11])
pt.subplot(1, 2, 1)
pt.plot(rand_fact, rand_prime)
#graph 2:
rand_odd = npy.array([87, 63, 71, 27, 9])
rand_even = npy.array([28, 46, 32, 6, 18])
pt.subplot(1, 2, 2)
pt.plot(rand_odd,rand_even)
pt.show()
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Função subplots () do Matplotlib

Três argumentos são passados ​​para a função subplots() para fornecer informações sobre o layout da figura.

No layout, as linhas e colunas são chamadas de primeiro e segundo argumentos.

De acordo com as subtramas do Matplotlib, o terceiro argumento indica o índice do grafo ativo.

 

pt.subplot(1, 2, 1)
#The figure has one row, two columns, and this graph is the first graph in the figure.

plt.subplot(1, 2, 2)
#The figure has one row, two columns, and this graph is the second graph in the figure.

 

Portanto, se quisermos uma figura com 2 linhas e 1 coluna (o que significa que os dois gráficos são apresentados um em cima do outro em vez de em paralelo),
utilizando esta sintaxe, podemos escrever:

Utilize duas linhas e uma coluna no exemplo a seguir:

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import matplotlib.pyplot as pt
import numpy as npy
#graph 1:
even =npy.array([2, 4, 6, 8, 10])
rev_odd = npy.array([11, 9, 7, 5, 3])
pt.subplot(2, 1, 1)
pt.plot(even, rev_odd)
#graph 2:
odd = npy.array([1, 3, 5, 7, 9])
rev_even = npy.array([10, 8, 6, 4, 2])
pt.subplot(2, 1, 2)
pt.plot(odd,rev_even)
pt.show()
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Aplique subplot(2,1,2) no exemplo abaixo:

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import matplotlib.pyplot as pt
import numpy as npy
#graph 1:
rand_fact =npy.array([24, 1, 6, 120, 2])
rand_prime = npy.array([17, 57, 23, 2, 11])
pt.subplot(2, 1, 1)
pt.plot(rand_fact, rand_prime)
#graph 2:
rand_odd = npy.array([87, 63, 71, 27, 9])
rand_even = npy.array([28, 46, 32, 6, 18])
pt.subplot(2, 1, 2)
pt.plot(rand_odd,rand_even)
pt.show()
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Indique o número de linhas, colunas e o índice do gráfico em uma figura, e você pode fazer quantos gráficos quiser.

Crie quatro gráficos da seguinte maneira:

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import matplotlib.pyplot as pt
import numpy as npy
#graph 1:
even =npy.array([2, 4, 6, 8, 10])
rev_odd = npy.array([11, 9, 7, 5, 3])
pt.subplot(1, 4, 1)
pt.plot(even, rev_odd)
#graph 2:
random1 = npy.array([147, 73, 111, 89, 33])
random2 = npy.array([31, 81, 55, 97, 77])
pt.subplot(1, 4, 2)
pt.plot(random1,random2)
#graph 3:
odd = npy.array([1, 3, 5, 7, 9])
rev_even = npy.array([10, 8, 6, 4, 2])
pt.subplot(1, 4, 3)
pt.plot(odd,rev_even)
#graph 4:
random1 = npy.array([147, 73, 111, 89, 33])
random2 = npy.array([31, 81, 55, 97, 77])
pt.subplot(1, 4, 4)
pt.plot(random1,random2)
pt.show()
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Esboce oito gráficos em quatro por duas dimensões:

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import matplotlib.pyplot as pt
import numpy as npy
#graph 1:
random1 = npy.array([147, 73, 111, 89, 33])
random2 = npy.array([31, 81, 55, 97, 77])
pt.subplot(4, 2, 1)
pt.plot(random1,random2)
#graph 2:
rand_fact =npy.array([24, 1, 6, 120, 2])
rand_prime = npy.array([17, 57, 23, 2, 11])
pt.subplot(4, 2, 2)
pt.plot(rand_fact, rand_prime)
#graph 3:
rand_odd = npy.array([87, 63, 71, 27, 9])
rand_even = npy.array([28, 46, 32, 6, 18])
pt.subplot(4, 2, 3)
pt.plot(rand_odd,rand_even)
#graph 4:
even =npy.array([2, 4, 6, 8, 10])
rev_odd = npy.array([11, 9, 7, 5, 3])
pt.subplot(4, 2, 4)
pt.plot(even, rev_odd)
#graph 5:
rand_fact =npy.array([24, 1, 6, 120, 2])
rand_prime = npy.array([17, 57, 23, 2, 11])
pt.subplot(4, 2, 5)
pt.plot(rand_fact, rand_prime)
#graph 6:
random1 = npy.array([147, 73, 111, 89, 33])
random2 = npy.array([31, 81, 55, 97, 77])
pt.subplot(4, 2, 6)
pt.plot(random1,random2)
#graph 7:
rand_odd = npy.array([87, 63, 71, 27, 9])
rand_even = npy.array([28, 46, 32, 6, 18])
pt.subplot(4, 2, 7)
pt.plot(rand_odd,rand_even)
#graph 8:
odd = npy.array([1, 3, 5, 7, 9])
rev_even = npy.array([10, 8, 6, 4, 2])
pt.subplot(4, 2, 8)
pt.plot(odd,rev_even)
pt.show()
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Título

Ao chamar a função title() , você pode atribuir um título a cada gráfico:

No exemplo a seguir, plote os dois gráficos e forneça um título separado para ambos:

Example: 

1
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Insira um título em cada gráfico aplicando a função title():

Example: 

1
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Super Título

Através da função suptitle() , você pode incluir um título para a figura completa:

Para a figura inteira, forneça o título ' GRÁFICOS MÚLTIPLOS ':

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import matplotlib.pyplot as pt
import numpy as npy
#graph 1:
even =npy.array([2, 4, 6, 8, 10])
rev_odd = npy.array([11, 9, 7, 5, 3])
pt.subplot(1, 4, 1)
pt.plot(even, rev_odd)
#graph 2:
random1 = npy.array([147, 73, 111, 89, 33])
random2 = npy.array([31, 81, 55, 97, 77])
pt.subplot(1, 4, 2)
pt.plot(random1,random2)
#graph 3:
odd = npy.array([1, 3, 5, 7, 9])
rev_even = npy.array([10, 8, 6, 4, 2])
pt.subplot(1, 4, 3)
pt.plot(odd,rev_even)
#graph 4:
random1 = npy.array([147, 73, 111, 89, 33])
random2 = npy.array([31, 81, 55, 97, 77])
pt.subplot(1, 4, 4)
pt.plot(random1,random2)
pt.suptitle('MULTIPLE GRAPHS')
pt.show()
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

No exemplo a seguir, atribuímos um supertítulo 'MR.EXAMPLES' à figura inteira:

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import matplotlib.pyplot as pt
import numpy as npy
#graph 1:
random1 = npy.array([147, 73, 111, 89, 33])
random2 = npy.array([31, 81, 55, 97, 77])
pt.subplot(4, 2, 1)
pt.plot(random1,random2)
#graph 2:
rand_fact =npy.array([24, 1, 6, 120, 2])
rand_prime = npy.array([17, 57, 23, 2, 11])
pt.subplot(4, 2, 2)
pt.plot(rand_fact, rand_prime)
#graph 3:
rand_odd = npy.array([87, 63, 71, 27, 9])
rand_even = npy.array([28, 46, 32, 6, 18])
pt.subplot(4, 2, 3)
pt.plot(rand_odd,rand_even)
#graph 4:
even =npy.array([2, 4, 6, 8, 10])
rev_odd = npy.array([11, 9, 7, 5, 3])
pt.subplot(4, 2, 4)
pt.plot(even, rev_odd)
#graph 5:
rand_fact =npy.array([24, 1, 6, 120, 2])
rand_prime = npy.array([17, 57, 23, 2, 11])
pt.subplot(4, 2, 5)
pt.plot(rand_fact, rand_prime)
#graph 6:
random1 = npy.array([147, 73, 111, 89, 33])
random2 = npy.array([31, 81, 55, 97, 77])
pt.subplot(4, 2, 6)
pt.plot(random1,random2)
#graph 7:
rand_odd = npy.array([87, 63, 71, 27, 9])
rand_even = npy.array([28, 46, 32, 6, 18])
pt.subplot(4, 2, 7)
pt.plot(rand_odd,rand_even)
#graph 8:
odd = npy.array([1, 3, 5, 7, 9])
rev_even = npy.array([10, 8, 6, 4, 2])
pt.subplot(4, 2, 8)
pt.plot(odd,rev_even)
pt.suptitle('MR.EXAMPLES', C = 'Maroon', fontweight = 'bold')
pt.show()
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Exemplo de Explicação

O exemplo acima é um código Python que cria uma figura contendo oito subplots usando a biblioteca Matplotlib . Cada subplot contém um gráfico de dois arrays NumPy. As matrizes contêm números inteiros gerados aleatoriamente, números primos, números pares e ímpares e fatoriais.

  1. A primeira subtrama exibe um gráfico de duas matrizes denominadas “ random1 ” e “ aleatório2 ”.
  2. A segunda subtrama mostra um gráfico de arrays “ rand_fact ” e “ rand_prime ”.
  3. A terceira subtrama contém um gráfico de arrays “ rand_odd ” e “ rand_even ” .
  4. A quarta subtrama mostra um gráfico de matrizes “ even ” e “ rev_odd ”.
  5. A quinta subtrama exibe a mesma trama que a segunda subtrama.
  6. A sexta subtrama contém o mesmo enredo que a primeira subtrama.
  7. A sétima subtrama mostra o mesmo enredo que a terceira subtrama.
  8. O oitavo subplot exibe um gráfico de matrizes “ odd ” e “ rev_even ”.

A figura tem um super título “ MR . EXEMPLOS ” na cor marrom e espessura da fonte em negrito. Finalmente, a função Matplotlib “ show() ” é usada para exibir a figura criada.


Benefícios das subtramas do Matplotlib

Os subplots do Matplotlib permitem a criação de vários gráficos dentro de uma única figura, oferecendo várias vantagens, como:

  • Com os subplots do Matplotlib, vários gráficos podem ser apresentados de maneira condensada, facilitando a exibição de grandes quantidades de dados em um espaço limitado.
  • A presença de vários gráficos em uma única figura simplifica a comparação de diferentes conjuntos de dados e a exploração de suas correlações.
  • Os subplots aprimoram a visualização geral dos dados, permitindo que os usuários visualizem vários gráficos simultaneamente, lado a lado.
  • Os subplots do Matplotlib oferecem flexibilidade em termos de personalização de layout, permitindo que os usuários ajustem o número de linhas e colunas ou o tamanho e a posição de cada subplot.
  • Os subenredos podem ser utilizados para contar uma história baseada em dados mais atraente, enfatizando diferentes recursos e comparações dos dados.

Conclusão

As subparcelas do Matplotlib fornecem inúmeras vantagens para a visualização de dados. Ao permitir a criação de vários gráficos em uma figura, os subplots permitem que os usuários economizem espaço, comparem conjuntos de dados com facilidade, aprimorem a visualização, personalizem layouts e criem melhores histórias com dados. Esses benefícios tornam os subplots do Matplotlib uma opção adaptável e flexível para apresentar insights de forma eficiente, o que explica por que eles são uma escolha popular para profissionais e entusiastas de visualização de dados.

Nós valorizamos o seu feedback.
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0

Assine a nossa newsletter
Digite seu e-mail para receber um resumo semanal de nossos melhores posts. Saber mais!
ícone