Como criar diferentes tamanhos de subparcelas em Matplotlib

  1. Método gridspec
  2. Método gridspec_kw
  3. Método subplot2grid

Poderíamos utilizar gridspec_kw, gridspec e subplot2grid para especificar diferentes proporções de subquadrantes para criar subquadrantes de tamanhos diferentes.

Matplotlib Tamanho diferente de subquadrantes

Método gridspec

import matplotlib.pyplot as plt
from matplotlib import gridspec

fig = plt.figure()
spec = gridspec.GridSpec(ncols=2, nrows=1,
                         width_ratios=[2, 1])

ax0 = fig.add_subplot(spec[0])
ax0.plot(range(5), range(5, 10))
ax1 = fig.add_subplot(spec[1])
ax1.plot(range(5), range(5, 10))

plt.show()

GridSpec do módulo gridspec especifica a geometria da grade de subquadros. Poderíamos definir o número de linhas, colunas e parâmetros de layout como a relação largura e altura.

spec = gridspec.GridSpec(ncols=2, nrows=1,
                         width_ratios=[2, 1])

Ela especifica que a figura tem duas colunas e uma linha e a relação de largura é de 2:1.

ax0 = fig.add_subplot(spec[0])

O objeto ax0 toma o lugar da posição 0 na geometria como definida acima, ou você poderia utilizar spec[0, 0] para deixá-lo mais claro.

Método gridspec_kw

import matplotlib.pyplot as plt

fig, ax = plt.subplots(2, 2, 
                       gridspec_kw={
                           'width_ratios': [2, 1],
                           'height_ratios': [1, 2]})

ax[0][0].plot(range(5), range(5, 10))
ax[0][1].plot(range(5), range(10, 5, -1))
ax[1][0].plot(range(5), range(5, 10))
ax[1][1].plot(range(5), range(10, 5, -1))

plt.show()

Matplotlib Subplotlib Diferentes Tamanho_da_grande_kw

gridspec_kw é o dicionário com palavras-chave para o construtor do GridSpec para especificar a ave das subquadrantes.

A relação de largura é especificada como 2:1, e a relação de altura é definida como 1:2.

Método subplot2grid

subplot2grid deixe subquadros tomarem múltiplas células na indexação da grade baseada em 0.

def subplot2grid(shape, 
                 loc, 
                 rowspan=1, 
                 colspan=1, 
                 fig=None, 
                 **kwargs):

O shape é a forma da grade, e tem a seqüência de 2 inteiros cujo primeiro elemento é o número de linhas e o segundo é o número de colunas.

O loc é o local para colocar o axis na grade. É também a seqüência de 2 inteiros cuja primeira entrada é o número de linhas e o segundo elemento é o número de colunas.

rowspan e colspan são o número de linhas ou colunas para o eixo se estender para a direita (para rowspan) ou para o fundo (para colspan).

Exemplo de codificação de trabalho:

import matplotlib.pyplot as plt

fig = plt.figure()

ax0 = plt.subplot2grid((1, 5), (0, 0), colspan=3)
ax1 = plt.subplot2grid((1, 5), (0, 3), colspan=2)

ax0.plot(range(5), range(5, 10))
ax1.plot(range(5), range(10, 5, -1))

plt.show()

Matplotlib Diferentes Subplot Size_subplot2grid.png

ax0 = plt.subplot2grid((1, 5), (0, 0), colspan=3)
ax1 = plt.subplot2grid((1, 5), (0, 3), colspan=2)

A grade tem a forma de (1, 5) que tem uma fila e cinco colunas.

O ax0 é colocado na célula (0, 0) e leva 3 colunas, e o ax1 é colocado na célula (0, 3) e leva as outras duas colunas.

Artigo relacionado - Matplotlib Subplot

  • Adicionar Subplot a uma figura em Matplotlib
  • Como adicionar título a subquadrantes em Matplotlib