Как использовать tight_layout() в matplotlib
Вы можете использовать функцию Tight_layout() в Matplotlib для автоматической настройки заполнения между подграфиками и вокруг них.
В следующем примере показано, как использовать эту функцию на практике.
Пример: как использовать Tight_layout() в Matplotlib
Предположим, мы используем Matplotilb для создания четырех подграфиков в сетке 2×2:
import matplotlib. pyplot as plt #define data x = [1, 2, 3] y = [7, 13, 24] #define layout for subplots fig, ax = plt. subplots (2, 2) #define subplot titles ax[0, 0]. plot (x,y,color=' red ') ax[0, 1]. plot (x,y,color=' blue ') ax[1, 0]. plot (x,y,color=' green ') ax[1, 1]. plot (x,y,color=' purple ') #add title to each subplot 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 ')
Обратите внимание, что между подграфиками отступы минимальны, что приводит к перекрытию заголовков в некоторых местах.
Указав fig.tight_layout(), мы можем автоматически регулировать отступы между подграфиками и вокруг них:
import matplotlib. pyplot as plt #define data x = [1, 2, 3] y = [7, 13, 24] #define layout for subplots fig, ax = plt. subplots (2, 2) #specify a tight layout fig. tight_layout () #define subplot titles ax[0, 0]. plot (x,y,color=' red ') ax[0, 1]. plot (x,y,color=' blue ') ax[1, 0]. plot (x,y,color=' green ') ax[1, 1]. plot (x,y,color=' purple ') #add title to each subplot 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 ')
Обратите внимание, что отступы между подграфиками и вокруг них были скорректированы таким образом, что графики больше не перекрываются в какой-либо области.
Обратите внимание, что функция Tight_layout() принимает аргумент Pad , чтобы указать отступ между краем фигуры и краями подпути в виде доли размера шрифта.
Значение контактной площадки по умолчанию — 1,08 . Однако мы можем увеличить это значение, чтобы увеличить отступы вокруг путей:
import matplotlib. pyplot as plt #define data x = [1, 2, 3] y = [7, 13, 24] #define layout for subplots fig, ax = plt. subplots (2, 2) #specify a tight layout with increased padding fig. tight_layout (pad=5) #define subplot titles ax[0, 0]. plot (x,y,color=' red ') ax[0, 1]. plot (x,y,color=' blue ') ax[1, 0]. plot (x,y,color=' green ') ax[1, 1]. plot (x,y,color=' purple ') #add title to each subplot 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 ')
Обратите внимание, что заполнение вокруг участков заметно увеличилось.
Не стесняйтесь корректировать значение аргумента Pad , чтобы увеличить отступы вокруг путей настолько, насколько вам нравится.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в Matplotlib:
Как добавить заголовок к подграфикам в Matplotlib
Как настроить размер подграфика в Matplotlib
Как настроить расстояние между подграфиками Matplotlib