На этом шаге мы рассмотрим назначение этой функции.
Один из вариантов более тонкой настройки цветовой полосы - это создать на базе родительского Axes элемента свой и модифицировать часть его параметров. Удобно сделать это с помощью функции inset_axes() из mpl_toolkits.axes_grid1.inset_locator. Основные ее аргументы перечислены в таблице 1.
Параметр | Тип | Описание |
---|---|---|
parent_axes | Axes | Родительский Axes объект |
width | float или str | Ширина объекта. Задаётся в процентах от родительского объекта либо абсолютным значением в виде числа |
height | float или str | Высота объекта. Задаётся в процентах от родительского объекта либо абсолютным значением в виде числа |
loc | int или string, optional, значение по умолчанию: 1 | Расположение объекта. Принимает значение из набора: 'upper right': 1, 'upper left': 2, 'lower left': 3, 'lower right': 4, 'right': 5, 'center left': 6, 'center right': 7, 'lower center': 8, 'upper center': 9, 'center' : 10 |
bbox_to_anchor | tuple или matplotlib.trans forms.BboxBase или optional | Расположение и соотношение сторон объекта. Задаётся в формате (левый угол, нижний угол, ширина, высота), либо (левый угол, нижний угол) |
bbox_transform | matplotlib.trans forms.Transform или optional | Трансформация объекта |
borderpad | float или optional | Зазор между bbox_to_anchor и объектом |
Продемонстрируем работу с inset_axes() на примере:
import matplotlib.pyplot as plt import numpy as np from mpl_toolkits.axes_grid1.inset_locator import inset_axes np.random.seed(123) vals = np.random.randint(11, size=(7, 7)) fig, ax = plt.subplots() gr = ax.pcolor(vals) axins = inset_axes(ax, width="7%", height="50%", loc='lower left', bbox_to_anchor=(1.05, 0., 1, 1), bbox_transform=ax.transAxes, borderpad=0) plt.colorbar(gr, cax=axins) plt.show()
Результат работы приложения изображен на рисунке 1.
Рис.1. Цветовая полоса, построенная с использованием inset_axes()
При необходимости можно модифицировать шкалу цветовой полосы с помощью объекта класса Tick.
На следующем шаге мы продолжим изучение этого вопроса.