Як налаштувати відстань між підсхемами matplotlib
Часто можна використовувати підсхеми для відображення кількох діаграм поруч один з одним у Matplotlib. На жаль, за замовчуванням ці підсхеми мають тенденцію накладатися.
Найпростіший спосіб вирішити цю проблему — скористатися функцією Matplotlib Tight_layout() . Цей посібник пояснює, як використовувати цю функцію на практиці.
Створюйте підсюжети
Розглянемо наступне розташування 4 підсхем у 2 стовпцях і 2 рядках:
import matplotlib.pyplot as plt #define subplots fig, ax = plt. subplots (2, 2) #display subplots plt. show ()
Зверніть увагу, як підсюжети трохи накладаються.
Відрегулюйте інтервал підсхеми за допомогою Tight_layout()
Найпростіший спосіб розв’язати цю проблему накладення — скористатися функцією Matplotlib Tight_layout() :
import matplotlib.pyplot as plt #define subplots fig, ax = plt. subplots (2, 2) fig. tight_layout () #display subplots plt. show ()
Відрегулюйте інтервали між заголовками сюжетів
У деяких випадках ви також можете мати назви для кожного з ваших підрозділів. На жаль, навіть функція Tight_layout() має тенденцію спричиняти накладення назв підрозділів:
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 ()
Спосіб виправити це — збільшити відступ висоти між підсхемами за допомогою аргументу 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 ()
Налаштуйте загальний інтервал між заголовками
Якщо у вас є загальний заголовок, ви можете скористатися функцією subplots_adjust() , щоб переконатися, що він не збігається з заголовками підсюжетів:
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 ()
Ви можете знайти більше посібників з Matplotlib тут .