Автор оригинала: Team Python Pool.
Matplotlib gridspec: Подробная иллюстрация
Здравствуйте, программисты!! В этой статье мы узнаем о matplotlib gridspec. Мы увидим несколько примеров, чтобы понять ясную концепцию по упомянутой теме. Без дальнейших церемоний давайте сразу перейдем к теме.
Что такое matplotlib gridspec?
Класс matplotlib.gridspec.GridSpec используется для указания геометрии сетки для размещения подзаголовка. Нам нужно установить количество строк и столбцов сетки.
Синтаксис:
class matplotlib.gridspec.GridSpec(nrows, ncols,,,,,,,,,)
Параметры:
- nrows: количество строк в сетке
- ncols: количество столбцов в сетке
- figure: для рисования фигур
- left, right, top, bottom: для определения экстента подзаголовков как доли ширины или высоты фигуры
- hspace: для резервирования пространства высоты между подзаголовками
- width_ratios: представляет отношения ширины столбцов
- height_ratios: представляет отношения ширины строк
Методы в классе matplotlib gridspec:
get_subplot_params(self,):
Эта функция возвращает словарь параметров макета подзаголовка.
tight_layout(self, figure,,.08,,,):
Он используется для придания определенного заполнения для настройки подзаголовков.
Иллюстрированные примеры для Matplotlib gridspec:
Давайте теперь рассмотрим несколько примеров для более ясной концепции.
import matplotlib import matplotlib.pyplot as plt import matplotlib.gridspec as gridspec fig,.subplots(ncols=3,,)
Выход
В этом примере мы не использовали matplotlib gridspec. Мы создали подзаголовки с размерами фигуры 3×3. Теперь мы создадим ту же фигуру с помощью gridspec.
import matplotlib import matplotlib.pyplot as plt import matplotlib.gridspec as gridspec .figure(constrained_layout=True).GridSpec(ncols=3,,).add_subplot(spec[0, 0]).add_subplot(spec[0, 1]).add_subplot(spec[0, 2]).add_subplot(spec[1, 0]).add_subplot(spec[1, 1]).add_subplot(spec[1, 2]).add_subplot(spec[2, 0]).add_subplot(spec[2, 1]).add_subplot(spec[2, 2])
Выход
Как видите, здесь мы создали одну и ту же фигуру. Однако мы использовали matplotlib gridspec для достижения желаемого результата. Мы определили размер сетки как 3×3. Затем мы определили 9 подзаголовков в разных осях, чтобы получить рисунок, показанный выше.
Это был всего лишь простой пример, чтобы увидеть, как работает gridspec. Он в основном используется, когда мы создаем подзаголовки, охватывающие строки и столбцы.
import matplotlib import matplotlib.pyplot as plt import matplotlib.gridspec as gridspec .figure(constrained_layout=True).add_gridspec(3, 3).add_subplot(gs[0, :1]).add_subplot(gs[1, :-1]).add_subplot(gs[1:, -1]).add_subplot(gs[-1, -2])
Выход
Как вы можете видеть, мы настроили макет в соответствии с вашими предпочтениями и добавили к нашему рисунку несколько подзаголовков, охватывающих строки и столбцы.
GridSpec использование SubplotSpec:
Это используется для указания местоположения подзаголовка в gridspec.
Синтаксис:
matplotlib.gridspec.SubplotSpec
(gridspec, num1,)
Параметры:
- gridspec: GridSpec, на который ссылается подзаголовок.
- num1, num2: Подзаголовок будет занимать num 1-ю ячейку данного gridspec. Если указан num2, то подзаголовок будет располагаться между num1-й и num2-й ячейками включительно.
- Подзаголовок будет занимать num 1-ю ячейку данного gridspec.
- Если указан num2, то подзаголовок будет охватывать промежуток между num 1-й и num2-й ячейками включительно.
Выход
В этом примере мы настроили макет нашей фигуры с помощью subplotspec(). Параметр этой функции определяет ось данного подзаголовка.
Matplotlib gridspec общие оси:
import matplotlib import matplotlib.pyplot as plt import matplotlib.gridspec as gridspec fig,.subplots(ncols=3,) fig.suptitle('Shared y-axis',) fig.tight_layout() plt.show()
Выход
В этом примере мы установили параметр ‘share’ как “True”. В результате на рисунке графики имеют общую ось y, а затем использовали метод tight_layout (), чтобы дать конкретное заполнение для настройки подзаголовков.
Matplotlib gridspec imshow:
import matplotlib.pyplot as plt import numpy as np .random.rand(15,15) fig,.subplots(3, 2) axes[0, 0].imshow(data) axes[1, 0].imshow(data) axes[2, 0].imshow(data) axes[0, 1].imshow(data) axes[1, 1].imshow(data) axes[2, 1].imshow(data) plt.setp(axes, xticks=[], yticks=[]) plt.show()
Выход
Как вы можете видеть, в этом примере мы использовали метод imshow() для отображения изображений на разных осях. Мы используем метод random.rand() для создания 15×15 href=”https://en.wikipedia.org/wiki/Matrix_(математика)”>матрица случайной величины. Наконец, мы используем метод imshow() для отображения изображений на разных осях. href=”https://en.wikipedia.org/wiki/Matrix_(математика)”>матрица случайной величины. Наконец, мы используем метод imshow() для отображения изображений на разных осях.
Соотношение Matplotlib gridspec:
Для этого доступны два параметра:
- width_ratios: Соотношение ширины колонн
- height_ratios: Соотношение высот строк
Выход
В этом примере мы использовали параметры width_ratios и height_ratios для указания высоты и ширины различных подзаголовков на рисунке.
Вывод: Matplotlib Gridspec
На этом мы заканчиваем нашу статью. Я надеюсь, что концепция gridspec была очищена от этой статьи.
Однако, если у вас есть какие-либо сомнения или вопросы, дайте мне знать в разделе комментариев ниже. Я постараюсь помочь вам как можно скорее.
Счастливого Пифонирования!