В Python модуль Matplotlib представляет собой количественно-математическое расширение пакета NumPy. Платформа Pyplot пакета Matplotlib предлагает систему на основе состояний, которая обеспечивает функциональность, подобную MATLAB. В Pyplot можно использовать линейный график, градиент, гистограмму, дисперсию, трехмерный график и другие графики.
Функция tight_layout в Matplotlib эффективно изменяет размер подграфика, чтобы включить его в область графика. Это исследовательская функция, которая может работать или не работать во всех случаях. Он просто оценивает метки делений, метки осей и обширность заголовков. Мы можем использовать этот инструмент для создания интерактивных визуализаций, которые можно просматривать на любой платформе.
Позвольте мне быстро пройтись по параметрам для Matplotlib tight_layout, прежде чем мы перейдем к примерам.
Параметры tight_layout библиотеки Matplotlib
Функция tight_layout имеет три параметра:
- Pad:Это дробное расстояние между графической границей и границей подграфиков, например, плавающее число шрифта и размер.
- H_pad и w_pad: эти параметры используются для интервалов (длины и ширины) вдоль последовательных границ подграфика, выраженных как соотношение шрифта и размера. Пэд — это режим по умолчанию. Это необязательный параметр.
- rect:Кортеж (верхний, левый, правый, нижний), который указывает кадр (верхний, левый, правый, нижний) в скорректированных графических координатах, который будет вмещать только всю область подграфиков (содержащую метки). Стандартная настройка: 0, 0, 1 и 1.
Использование GridSpec с Matplotlibtight_layout
GridSpec содержит собственную функцию tight_layout(). Однако Tight_layout() из API pyplot все еще работает. Мы можем указать координаты, в которых будут размещены подграфики, используя необязательный аргумент rect. Чтобы уменьшить перекрытие, метод tight_layout() изменяет пространство между подграфиками.
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
fig = plt.figure(figsize =([8, 4]))
gs = gridspec.GridSpec(3, 6)
ax1 = plt.subplot(gs[1, :3])
ax1.set_ylabel(‘label 1’, labelpad = 1, fontsize = 14)
ax1.plot([1, 2, 3], [3, 4.6, 5])
ax2 = plt.subplot(gs[0, 3:6])
ax2.set_ylabel(‘label 2’, labelpad = 1, fontsize = 14)
ax2.plot([3, 4.4, 8], [3, 4.5, 5])
ax3 = plt.subplot(gs[2, 4:8])
ax3.set_ylabel(‘label 3’, labelpad = 1, fontsize = 14)
ax3.plot([3.1, 5.4, 7.6, 4.9], [1.3, 4.4, 7, 3])
plt.tight_layout()
plt.show()
Размеры должны быть указаны в стандартных графических параметрах с настройкой по умолчанию (0, 0, 1 и 1). Изменение верха и низа также может потребовать изменения hspace. Мы снова выполняем функцию tight_layout() с измененным параметром rect для настройки hspace и vspace. Параметр rect обеспечивает область, которая объединяет метки деления и другие элементы.
Функция Matplotlibtight_layout(), использующая заголовки и подписи
Заголовки и подписи были исключены из вычислений ограничивающей области, которые определяют формат перед Matplotlib. Они снова использовались при определении, но включать их не всегда целесообразно. Поэтому в этой ситуации показано опускание осей для создания начальной точки графика.
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
plt.close(‘all’)
fig = plt.figure()
fig, ax = plt.subplots(figsize=(6, 5))
lines = ax.plot(range(12), label=‘Plot’)
ax.legend(bbox_to_anchor=(0.8, 0.4), loc=‘bottom left’,)
fig.tight_layout()
plt.show()
В этом случае после интеграции библиотек matpotlib.pyplot и matplotlib.gridspec мы определяем функцию plt.figure(). Мы указываем диапазон линий, проведенных на графике, и присваиваем графику тег Plot. Также указываем расположение заголовка графика.
Блокнот Tight_layout в Matplotlib
Расстояние между графическими границами и границами подграфиков будет изменено. Эта процедура не возвращает никаких данных. Метод tight_layout в Matplotlib динамически воссоздает подграфик, чтобы разместить его в области графика.
import numpy as np
import matplotlib.pyplot as plt
fig, ax = plt.subplots(2, 2)
data = np.arange(1.0, 40, 1.05)
x1= np.sin(data)
y1= np.cos(data)x2= np.cos(data)
y2= np.tan(data)
x3= np.tan(data)
y3= np.exp(data*3)
x4= [4,15,20]
y4= [8,15,22]
ax[1, 1].plot(x1, y1)
ax[1, 0].plot(x2, y2)
ax[0, 1].plot(x3, y3)
ax[0, 0].plot(x4, y4)
ax[1, 1].set_title(«figure 1 «)
ax[1, 0].set_title(«figure 2»)
ax[0, 1].set_title(«figure 3»)
ax[0, 0].set_title(«figure 4»)
plt.tight_layout(pad=4.5)
plt.show()
Атрибут заполнения используется для их настройки. В этом примере мы интегрируем matplotlib.pyplot и библиотеку numpy.
Затем мы используем функцию subplots() для создания диаграммы и последовательности подграфиков. Используя функцию plot(), мы указываем размеры данных для разных подграфиков и отображаем наборы данных. Затем используется функция set_title() для вставки строки тега в каждый график. В конце концов, мы просто используем функцию plt.tight_layout() для изменения интервала.
Мы предоставляем pad в качестве атрибута и устанавливаем значение 4,5 в одном случае и 1,0 в другом.
Matplotlib Tight_Layout Hspace
Здесь мы увидим, как изменить высоту в пределах полей последовательных подграфиков. Аргумент h_pad предоставляется функции tight_layout() для изменения высоты.
import numpy as np
import matplotlib.pyplot as plt
fig, ax = plt.subplots(1, 2)
data = np.arange(1.0, 40, 1.5
x1= np.sin(data)
y1= np.cos(data)
x2= np.cos(data)
y2= np.tan(data)
ax[1].plot(x1, y1)
ax[0].plot(x2, y2)
ax[0].set_title(«Figure 1 «)
ax[1].set_title(«Figure 2»)
plt.tight_layout(h_pad=1.2)plt.show()
В этот пример мы включили matplotlib.pyplot и библиотеку numpy. Используя технику subplots(), мы создаем диаграмму и набор подграфиков. Кроме того, мы используем функцию plot() для визуализации данных и анализа измерений данных для многочисленных подграфиков.
Функция set title() используется для вставки подписи к каждому графику. Теперь мы используем функцию plt.tight layout() для изменения высоты между обеими вершинами. В обоих случаях мы указываем h_pad в качестве аргумента и устанавливаем значение 1,2 и 12,5 соответственно.
Tight_layout намеревается реорганизовать подграфики на графике таким образом, чтобы элементы осей и заголовки на осях не конфликтовали.
Заключение
В этой статье мы рассмотрели несколько различных методов выполнения Matplotlib tight_layout в Python. С помощью gridspec, меток и иллюстраций мы объяснили, как использовать метод tight_layout. Мы также могли бы использовать плотное расположение в сочетании с цветными полосами, чтобы оно хорошо выглядело в графическом представлении.