Перейти к содержимому

Сетка Matplotlib

Matplotlib — это мощная библиотека Python для визуализации данных. В этой статье основное внимание уделяется системе сеток, которая позволяет размещать несколько графиков в одном рисунке с помощью строк и столбцов.

Что такое сетка в Matplotlib?

Сетка в Matplotlib относится к расположению графиков на рисунке. Она позволяет создавать сложные макеты, объединяющие несколько графиков в одном рисунке. Сетка состоит из строк и столбцов, и каждая ячейка сетки может содержать график.

Как создать сетку в Matplotlib?

Для создания сетки в Matplotlib используется функция subplot(). Функция subplot() принимает три аргумента: количество строк, количество столбцов и индекс графика.

Ниже приведен пример кода:

Создание сетки в Matplotlib на Python

python
import matplotlib.pyplot as plt

# Create a 2x2 grid of plots
fig, axs = plt.subplots(nrows=2, ncols=2)

# Plot data on the first plot
axs[0, 0].plot([1, 2, 3], [4, 5, 6])

# Plot data on the second plot
axs[0, 1].scatter([1, 2, 3], [4, 5, 6])

# Plot data on the third plot
axs[1, 0].bar([1, 2, 3], [4, 5, 6])

# Plot data on the fourth plot
axs[1, 1].hist([1, 2, 3, 4, 5, 6], bins=3)

# Adjust spacing and display the plots
plt.tight_layout()
plt.show()

В этом примере мы создаем сетку графиков 2x2 с помощью функции subplot(). Затем мы отображаем данные на каждом из четырех графиков.

Расширенные макеты сеток

Помимо базового макета сетки, Matplotlib предоставляет множество других возможностей для создания расширенных макетов. Одна из таких возможностей — класс GridSpec. Класс GridSpec позволяет создавать сетки с неравными размерами строк и столбцов, а также сетки с общими осями.

Ниже приведен пример кода:

Расширенный макет сетки в Matplotlib на Python

python
import matplotlib.pyplot as plt
from matplotlib.gridspec import GridSpec

fig = plt.figure()
gs = GridSpec(nrows=2, ncols=2, width_ratios=[2, 1], height_ratios=[1, 2])

# Plot data on the first plot
ax1 = fig.add_subplot(gs[0, 0])
ax1.plot([1, 2, 3], [4, 5, 6])

# Plot data on the second plot
ax2 = fig.add_subplot(gs[0, 1])
ax2.scatter([1, 2, 3], [4, 5, 6])

# Plot data on the third plot
ax3 = fig.add_subplot(gs[1, :])
ax3.bar([1, 2, 3], [4, 5, 6])

# Adjust spacing and display the plots
plt.tight_layout()
plt.show()

В этом примере мы создаем сетку 2x2 с неравными размерами строк и столбцов с помощью класса GridSpec. Затем мы отображаем данные на каждом из трех графиков.

Чтобы предотвратить пересечение элементов в сложных сетках, всегда вызывайте plt.tight_layout() перед отображением рисунка. Для более точного контроля над расстоянием между подграфиками можно использовать fig.subplots_adjust() или передать constrained_layout=True в plt.subplots().

Заключение

Подводя итог, Matplotlib — это мощная библиотека Python для визуализации данных, а макет сетки является ключевым понятием для создания сложных компоновок наших графиков. В этой статье мы рассмотрели, как создать макет сетки в Matplotlib с помощью функции subplot() и класса GridSpec.

Мы надеемся, что эта статья предоставит вам полезные сведения о том, как эффективно использовать макет сетки в Matplotlib. Следуя рекомендациям, изложенным в этой статье, вы сможете создавать высококачественные визуализации данных, которые будут как информативными, так и визуально привлекательными.

Спасибо за чтение, и мы надеемся, что эта статья оказалась полезной.

Считаете ли это полезным?

Предпросмотр dual-run — сравните с маршрутами Symfony на продакшене.