Uso do Matplotlib's Fight_layout em Python

Uso do Matplotlib's Fight_layout em Python
Em Python, o módulo Matplotlib é uma expansão quantitativa-matemática para o pacote Numpy. A estrutura PyPlot do pacote matplotlib oferece um sistema baseado em estado que permite a funcionalidade semelhante ao MATLAB. Gráfico de linha, gradiente, histograma, dispersão, gráfico 3D e outros gráficos podem ser destinados ao PyPlot.

A função de Fight_layout em Matplotlib redimensiona efetivamente a subtrama para incorporar dentro da região da plotagem. É uma funcionalidade exploratória que pode ou não ser executada em todos os casos. Ele apenas avalia os rótulos, rótulos de eixo e extensão dos títulos. Podemos utilizar esta ferramenta para fazer visualizações interativas que poderiam ser vistas em todas as plataformas.

Deixe -me passar rapidamente pelos parâmetros para o matplotlib fort_layout antes de entrarmos em instâncias.

Parâmetros de matplotlibt_layout

A função FTIND_LAYOUT possui três parâmetros:

  • Almofada: É o espaçamento fracionário entre a borda gráfica e a borda das subparcelas, e.g. Número flutuante de fonte e tamanho.
  • H_pad e w_pad: Esses parâmetros são usados ​​para espaçamento (comprimento e largura) ao longo das fronteiras consecutivas da subtrama, expressas como a proporção da fonte e do tamanho. Bloco é o modo padrão. Estes são um parâmetro opcional.
  • Rect: Tupla (superior, esquerda, direita, inferior) que indica uma estrutura (superior, esquerda, direita, inferior) nas coordenadas gráficas ajustadas que acomodarão apenas toda a região das subparcelas (contendo rótulos). A configuração padrão é 0, 0, 1 e 1.

Usando GridSpec com matplotlib apertado_layout

GridSpec contém uma função de tight_layout (). FUTH_LAYOUT () da API PyPlot, no entanto, ainda é executado. Podemos indicar as coordenadas nas quais as subparcelas seriam colocadas usando o argumento correto opcional. Para reduzir a sobreposição, o método FTEW_LAYOUT () modifica o espaço entre as subparcelas.

importar matplotlib.pyplot como plt
importar matplotlib.GridSpec como GridSpec
fig = plt.Figura (FigSize = ([8, 4])))
GS = GridSpec.GridSpec (3, 6)
AX1 = PLT.Subparcela (GS [1 ,: 3])
AX1.set_ylabel ('rótulo 1', labelPad = 1, fontsize = 14)
AX1.Lote ([1, 2, 3], [3, 4.6, 5])
ax2 = plt.Subparcela (GS [0, 3: 6])
AX2.set_ylabel ('etiqueta 2', labelpad = 1, fontsize = 14)
AX2.Lote ([3, 4.4, 8], [3, 4.5, 5])
ax3 = plt.Subparcela (GS [2, 4: 8])
AX3.set_ylabel ('rótulo 3', etiquetpad = 1, fontsize = 14)
AX3.enredo ([3.1, 5.4, 7.6, 4.9], [1.3, 4.4, 7, 3])
plt.Fight_Layout ()
plt.mostrar()

As dimensões devem ter sido em parâmetros gráficos padronizados, com a configuração padrão (0, 0, 1 e 1). Alterar a parte superior e inferior pode exigir a modificação do Hspace também. Executamos a função FUTH_LAYOUT () mais uma vez com um parâmetro RET modificado para ajustar o Hspace e o VSPACE. O parâmetro Rect fornece a área que integra os rótulos e outros elementos.

Função Matplotlib Fight_Layout () usando títulos e legendas

Títulos e legendas foram eliminados dos cálculos da região delimitadora que determinam o formato antes do Matplotlib. Estes foram mais uma vez usados ​​na determinação, mas incluí -los nem sempre é aconselhável. Portanto, nessa situação, diminuir os eixos para criar o ponto de partida para o enredo é indicado.

importar matplotlib.pyplot como plt
importar matplotlib.GridSpec como GridSpec
plt.feche tudo')
fig = plt.figura()
fig, ax = pLT.subparcelas (figSize = (6, 5))
linhas = ax.Lote (alcance (12), etiqueta = 'plot')
machado.legenda (bbox_to_anchor = (0.8, 0.4), loc = 'inferior esquerdo',)
Figo.Fight_Layout ()
plt.mostrar()

Nesse caso, depois de integrar Matpotlib.Pyplot e matplotlib.Bibliotecas GridSpec, definimos o PLT.Figura () função. Indicamos a gama de linhas desenhadas no gráfico e damos a tag 'plot' ao gráfico. Também especificamos a localização do título do gráfico.

Pad Padt_layout em Matplotlib

O espaçamento entre os limites gráficos e os limites das subparcelas será modificado. Não há dados retornados por este procedimento. O método Fight_Layout em Matplotlib recria dinamicamente uma subtrama para acomodar na área da trama.

importar numpy como np
importar matplotlib.pyplot como plt
fig, ax = pLT.subparcelas (2, 2)
dados = np.Arange (1.0, 40, 1.05)
x1 = np.pecado (dados)
y1 = np.cos (dados)
x2 = np.cos (dados)
y2 = np.bronzeado (dados)
x3 = np.bronzeado (dados)
y3 = np.Exp (Data*3)
x4 = [4,15,20]
y4 = [8,15,22]
machado [1, 1].Lote (x1, y1)
machado [1, 0].Lote (x2, y2)
machado [0, 1].Lote (x3, y3)
machado [0, 0].Lote (x4, y4)
machado [1, 1].set_title ("Figura 1")
machado [1, 0].set_title ("Figura 2")
machado [0, 1].set_title ("Figura 3")
machado [0, 0].set_title ("Figura 4")
plt.Fight_Layout (Pad = 4.5)
plt.mostrar()

O atributo de preenchimento está sendo usado para personalizá -los. Nós integram o matplotlib.Pyplot e a biblioteca Numpy neste caso.

Em seguida, usamos a função Subplastes () para gerar um gráfico e uma sequência de subparcelas. Ao utilizar a função plot (), especificamos as dimensões de dados para diferentes subparcelas e exibimos os conjuntos de dados. Em seguida, a função set_title () é utilizada para inserir um slogan em todos os gráficos. No final, apenas utilizamos o PLT.Função de Função de Função () para modificar o espaçamento.

Fornecemos blocos como um atributo e definimos o valor para 4.5 em um caso e 1.0 no outro.

Matplotlib dspace

Aqui, veremos como mudar a altitude nas margens sucessivas das subparcelas. O argumento H_PAD é fornecido à função FUTH_LAYOUT () para modificar a altura.

importar numpy como np
importar matplotlib.pyplot como plt
fig, ax = pLT.subtramas (1, 2)
dados = np.Arange (1.0, 40, 1.5
x1 = np.pecado (dados)
y1 = np.cos (dados)
x2 = np.cos (dados)
y2 = np.bronzeado (dados)
machado [1].Lote (x1, y1)
machado [0].Lote (x2, y2)
machado [0].set_title ("Figura 1")
machado [1].set_title ("Figura 2")
plt.Fight_Layout (h_pad = 1.2)
plt.mostrar()

Incluímos Matplotlib.Pyplot e a biblioteca Numpy neste exemplo. Utilizando a técnica de subparcelas (), geramos um gráfico e uma coleção de subparcelas. Além disso, utilizamos a função plot () para visualizar os dados e analisar as dimensões de dados para inúmeras subparcelas.

A função Set Title () é usada para inserir uma legenda em todos os gráficos. Agora, usamos PLT.Função de layout apertada () para modificar a elevação entre os dois vértices. Em ambas as situações, especificamos H_PAD como um argumento e definimos o valor como 1.2 e 12.5 respectivamente.

Fight_layout pretende reorganizar subparcelas em um gráfico de modo que os elementos e títulos dos eixos não conflitam.

Conclusão

Examinamos alguns métodos diferentes para realizar Matplotlib Fight_layout em Python neste artigo. Com o GridSpec, Rótulos e Ilustrações, explicamos como usar o método Fight_Layout. Também poderíamos utilizar um Fight_layout em associação com barras de cores para fazer com que pareça bem na apresentação gráfica.