Como ajustar o espaçamento entre subtramas do matplotlib
Muitas vezes você pode usar subtramas para exibir vários gráficos próximos uns dos outros no Matplotlib. Infelizmente, essas subtramas tendem a se sobrepor por padrão.
A maneira mais fácil de resolver este problema é usar a função Matplotlib Tight_layout() . Este tutorial explica como usar esta função na prática.
Criar subtramas
Considere o seguinte arranjo de 4 subparcelas em 2 colunas e 2 linhas:
import matplotlib.pyplot as plt #define subplots fig, ax = plt. subplots (2, 2) #display subplots plt. show ()
Observe como as subtramas se sobrepõem um pouco.
Ajuste o espaçamento da subparcela usando Tight_layout()
A maneira mais fácil de resolver esse problema de sobreposição é usar a função Matplotlib Tight_layout() :
import matplotlib.pyplot as plt #define subplots fig, ax = plt. subplots (2, 2) fig. tight_layout () #display subplots plt. show ()
Ajustar o espaçamento dos títulos das subtramas
Em alguns casos, você também pode ter títulos para cada uma de suas subtramas. Infelizmente, até mesmo a função Tight_layout() tende a fazer com que os títulos das subtramas se sobreponham:
import matplotlib.pyplot as plt #define subplots fig, ax = plt. subplots (2, 2) fig. tight_layout () #define subplot titles ax[0, 0]. set_title ('First Subplot') ax[0, 1]. set_title ('Second Subplot') ax[1, 0]. set_title ('Third Subplot') ax[1, 1]. set_title ('Fourth Subplot') #display subplots plt. show ()
A maneira de corrigir isso é aumentar o preenchimento de altura entre subparcelas usando o argumento h_pad :
import matplotlib.pyplot as plt #define subplots fig, ax = plt. subplots (2, 2) fig. tight_layout (h_pad= 2 ) #define subplot titles ax[0, 0]. set_title ('First Subplot') ax[0, 1]. set_title ('Second Subplot') ax[1, 0]. set_title ('Third Subplot') ax[1, 1]. set_title ('Fourth Subplot') #display subplots plt. show ()
Ajustar o espaçamento geral do título
Se você tiver um título geral, poderá usar a função subplots_adjust() para garantir que ele não se sobreponha aos títulos das subtramas:
import matplotlib.pyplot as plt #define subplots fig, ax = plt. subplots (2, 2) fig. tight_layout (h_pad= 2 ) #define subplot titles ax[0, 0]. set_title ('First Subplot') ax[0, 1]. set_title ('Second Subplot') ax[1, 0]. set_title ('Third Subplot') ax[1, 1]. set_title ('Fourth Subplot') #add overall title and adjust it so that it doesn't overlap with subplot titles fig.suptitle(' Overall Title ') plt.subplots_adjust(top= 0.85 ) #display subplots plt. show ()
Você pode encontrar mais tutoriais do Matplotlib aqui .