Às vezes me deparo com um código como este:
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]
fig = plt.figure()
fig.add_subplot(111)
plt.scatter(x, y)
plt.show()
Qual produz:
Eu tenho lido a documentação como louca, mas não consigo encontrar uma explicação para o 111
. vezes eu vejo 212
.
O que significa o argumento de fig.add_subplot()
?
python
matplotlib
figure
satisfeito
fonte
fonte
subplots()
método.subplot()
é aqui esubplots()
é aqui .Eu acho que isso seria melhor explicado pela figura a seguir:
Para inicializar o acima, digite-se:
fonte
1.5.0
) e parece ser apenas o Matlab. (Observe que existem outras opções no Matplotlib para atingir esse comportamento, por exemplo, gridspec )A resposta de Constantin é imediata, mas para mais informações, esse comportamento é herdado do Matlab.
O comportamento do Matlab é explicado na seção Configuração da figura - Exibição de vários gráficos por figura da documentação do Matlab.
fonte
Minha solução é
fonte
O primeiro código cria a primeira subtrama em um layout que possui 3 linhas e 2 colunas.
Os três gráficos na primeira coluna indicam as 3 linhas. O segundo gráfico vem logo abaixo do primeiro gráfico na mesma coluna e assim por diante.
As duas últimas plotagens têm argumentos
(2, 2)
que indicam que a segunda coluna possui apenas duas linhas, os parâmetros de posição se movem em linhas.fonte
fig.add_subplot(ROW,COLUMN,POSITION)
Exemplos
Existem 2 linhas no total, 1 coluna e, portanto, 2 subgráficos podem ser plotados. Sua localização é a 1ª. Há um total de 2 linhas, 1 coluna, portanto, 2 subgráficos podem ser plotados.
fonte
O método add_subplot () possui várias assinaturas de chamada:
add_subplot(nrows, ncols, index, **kwargs)
add_subplot(pos, **kwargs)
add_subplot(ax)
add_subplot()
<- desde 3.1.0Chamadas 1 e 2:
As chamadas 1 e 2 alcançam a mesma coisa que as outras (até um limite, explicado abaixo). Pense neles como primeiro especificando o layout da grade com seus 2 primeiros números (2x2, 1x8, 3x4 etc.), por exemplo:
Ambos produzem um arranjo de subparcela de (3 x 4 = 12) subtramas em 3 linhas e 4 colunas. O terceiro número em cada chamada indica qual objeto de eixo retornar, começando em 1 no canto superior esquerdo, aumentando para a direita .
Este código ilustra as limitações do uso da chamada 2:
Você pode ver com a chamada 1 no LHS que pode retornar qualquer objeto de eixo; no entanto, com a chamada 2 no RHS, você só pode retornar até o índice = 9 renderizando subparcelas j), k) e l) inacessíveis usando esta chamada.
Ou seja, ilustra este ponto da documentação:
Ligue 3
Ligue 4 (desde 3.1.0):
isto é, reproduzir a chamada
fig.add_subplot(111)
na pergunta.fonte