Как настроить расстояние между подграфиками 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 ()

Отрегулируйте интервал подграфика Matplotlib

Отрегулируйте интервал между заголовками сюжетов

В некоторых случаях вы также можете иметь заголовки для каждого из ваших подсюжетов. К сожалению, даже функция 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 () 

Подзаголовки с заголовками в Matplotlib

Чтобы исправить это, нужно увеличить отступ по высоте между подграфиками с помощью аргумента 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 () 

Расстояние между заголовками подзаголовков Matplotlib

Отрегулируйте общий интервал между заголовками

Если у вас есть общий заголовок, вы можете использовать функцию 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

Дополнительные руководства по Matplotlib вы можете найти здесь .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *