Jak dostosować odstępy między wątkami matplotlib
Często można używać wątków pobocznych do wyświetlania wielu wykresów obok siebie w Matplotlib. Niestety, te wątki poboczne domyślnie nakładają się na siebie.
Najłatwiejszym sposobem rozwiązania tego problemu jest użycie funkcji Matplotlib Tight_layout() . W tym samouczku wyjaśniono, jak w praktyce korzystać z tej funkcji.
Utwórz wątki poboczne
Rozważmy następujący układ 4 wątków cząstkowych w 2 kolumnach i 2 rzędach:
import matplotlib.pyplot as plt #define subplots fig, ax = plt. subplots (2, 2) #display subplots plt. show ()
Zwróć uwagę, że wątki poboczne nieco się pokrywają.
Dostosuj odstępy między wątkami za pomocą Tight_layout()
Najłatwiejszym sposobem rozwiązania tego nakładającego się problemu jest użycie funkcji Matplotlib Tight_layout() :
import matplotlib.pyplot as plt #define subplots fig, ax = plt. subplots (2, 2) fig. tight_layout () #display subplots plt. show ()
Dostosuj odstępy między tytułami wątków pobocznych
W niektórych przypadkach możesz także mieć tytuły dla każdego wątku pobocznego. Niestety nawet funkcja Tight_layout() powoduje nakładanie się tytułów wątków pobocznych:
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 ()
Sposobem na rozwiązanie tego problemu jest zwiększenie wysokości dopełnienia między wątkami pobocznymi za pomocą argumentu 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 ()
Dostosuj ogólne odstępy między tytułami
Jeśli masz ogólny tytuł, możesz użyć funkcji subplots_just() , aby upewnić się, że nie pokrywa się on z tytułami wątków pobocznych:
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 ()
Więcej samouczków dotyczących Matplotlib znajdziesz tutaj .