matplotlib.colorbar
Цветовые шкалы отображают соответствие скалярных значений цветам. В Matplotlib они рисуются в специально предназначенном для этого Axes.
Примечание
Цветовые шкалы обычно создаются с помощью Figure.colorbar или его обёртки pyplot pyplot.colorbar, которые внутри используют Colorbar вместе с make_axes_gridspec (для осей, размещённых с помощью GridSpec) или make_axes (для осей, не размещённых с помощью GridSpec).
Скорее всего, конечным пользователям не потребуется напрямую использовать API этого модуля.
- classmatplotlib.colorbar.Colorbar(ax, mappable=None, *, alpha=None, location=None, extend=None, extendfrac=None, extendrect=False, ticks=None, format=None, values=None, boundaries=None, spacing='uniform', drawedges=False, label='', cmap=None, norm=None, orientation=None, ticklocation='auto')[исходный код]
-
Базовые классы:
objectНарисовать цветовую шкалу в существующих осях.
Обычно цветовые шкалы создаются с помощью
Figure.colorbarилиpyplot.colorbarи связываются с объектамиScalarMappable(например, с объектомAxesImage, созданным с помощьюimshow).Чтобы нарисовать цветовую шкалу, не связанную с другими элементами рисунка (например, при отображении одной цветовой карты), можно создать пустой объект
ScalarMappableили передать cmap и norm напрямую вместо mappable вColorbar.Полезные общедоступные методы:
set_label()иadd_lines().- Атрибуты:
-
-
ax
Axes -
Экземпляр
Axes, в котором рисуется цветовая шкала. - linesсписок
-
Список объектов
LineCollection(пуст, если линии не рисовались). -
dividers
LineCollection -
Объект LineCollection (пуст, если drawedges равно
False).
-
ax
- Параметры:
-
-
ax
Axes -
Экземпляр
Axes, в котором рисуется цветовая шкала. -
mappable
ScalarMappable -
Объект, задающий цветовую карту и нормализацию.
Чтобы отображать цвета в зависимости от индекса, а не в диапазоне 0–1, задайте для нормализации объекта mappable значение
colors.NoNorm(). - alphaчисло с плавающей точкой
-
Прозрачность цветовой шкалы: от 0 (прозрачный) до 1 (непрозрачный).
- locationNone или {'left', 'right', 'top', 'bottom'}
-
Задаёт orientation и ticklocation цветовой шкалы. Шкалы слева и справа располагаются вертикально, а сверху и снизу — горизонтально. ticklocation совпадает с location, поэтому, если location равно 'top', деления находятся сверху. Также можно задать orientation и/или ticklocation; в этом случае они переопределяют значение, заданное параметром location, но несовместимые сочетания вызовут ошибку.
Добавлено в версии 3.7.
- extend{'neither', 'both', 'min', 'max'}
-
Добавляет заострённые окончания для значений за пределами диапазона (если задано не 'neither'). Они задаются для конкретной цветовой карты с помощью методов set_under и set_over.
- extendfrac{None, 'auto', длина, длины}
-
Если задано значение None, минимальное и максимальное треугольные окончания цветовой шкалы имеют длину, равную 5% длины её внутренней части (значение по умолчанию).
Если задано значение 'auto', треугольные окончания цветовой шкалы будут такой же длины, как внутренние прямоугольники (если для spacing задано значение 'uniform'), или такой же длины, как соответствующие соседние внутренние прямоугольники (если для spacing задано значение 'proportional').
Если задано скалярное значение, оно указывает длину обоих треугольных окончаний цветовой шкалы как долю длины её внутренней части. Можно также задать последовательность из двух долей, указывающих длины минимального и максимального окончаний цветовой шкалы соответственно как доли длины её внутренней части.
- extendrectbool
-
Если задано False, минимальное и максимальное окончания цветовой шкалы будут треугольными (значение по умолчанию). Если задано True, окончания будут прямоугольными.
- ticksNone, список делений или Locator
-
Если задано None, положения делений определяются автоматически на основе входных данных.
- formatNone, str или Formatter
-
Если задано None, используется
ScalarFormatter. Поддерживаются строки форматирования, например"%4.2e"или"{x:.2e}". Вместо этого можно передать альтернативныйFormatter. - drawedgesbool
-
Следует ли рисовать линии на границах цветов.
- labelstr
-
Подпись вдоль длинной оси цветовой шкалы.
- boundaries, valuesNone или последовательность
-
Если параметры не заданы, цветовая карта отображается в диапазоне 0–1. Если заданы последовательности, длина values должна быть на единицу меньше длины boundaries. Для каждой области, ограниченной соседними элементами boundaries, используется цвет, соответствующий значению в values. Размер каждой области определяется параметром spacing. Обычно это полезно только для индексированных цветов (то есть
norm=NoNorm()) или в других особых случаях. - spacing{'uniform', 'proportional'}
-
Для дискретных цветовых шкал (
BoundaryNormили контуров) значение 'uniform' отводит каждому цвету одинаковое пространство; 'proportional' задаёт пространство пропорционально интервалу данных.
-
ax
- Другие параметры:
-
-
cmap
Colormap, по умолчанию:rcParams["image.cmap"](значение по умолчанию:'viridis') -
Используемая цветовая карта. Этот параметр игнорируется, если mappable не равен None.
-
norm
Normalize -
Используемая нормализация. Этот параметр игнорируется, если mappable не равен None.
- orientationNone или {'vertical', 'horizontal'}
-
Если задано None, используется значение, определённое параметром location. Если параметры orientation и location равны None, по умолчанию используется 'vertical'.
- ticklocation{'auto', 'left', 'right', 'top', 'bottom'}
-
Расположение делений цветовой шкалы. Значение ticklocation должно соответствовать параметру orientation. Например, у горизонтальной цветовой шкалы деления могут располагаться только сверху или снизу. Если задано 'auto', деления располагаются в соответствии с параметром location: например, у шкалы слева деления будут слева. Если location равен None, деления горизонтальной цветовой шкалы будут находиться снизу, а вертикальной — справа.
-
cmap
- add_lines(*args, **kwargs)[исходный код]
-
Нарисовать линии на цветовой шкале.
Линии добавляются в список
lines.- Параметры:
-
- levelsмассивоподобный объект
-
Положения линий.
- colorsцвет или список цветов
-
Один цвет для всех линий или отдельное значение цвета для каждой линии.
- linewidthsчисло с плавающей точкой или массивоподобный объект
-
Одна ширина линии для всех линий или отдельная ширина для каждой линии.
- erasebool, по умолчанию: True
-
Следует ли удалять ранее добавленные линии.
Примечания
Кроме того, этот метод можно вызывать с сигнатурой
colorbar.add_lines(contour_set, erase=True); в этом случае значения levels, colors и linewidths берутся из contour_set.
- drag_pan(button, key, x, y)[исходный код]
- propertyformatter
-
Formatterподписей основных делений цветовой шкалы.
- get_ticks(minor=False)[исходный код]
-
Возвращает деления в виде списка их положений.
- Параметры:
-
- minorлогическое значение, по умолчанию: False
-
Если True, возвращает вспомогательные деления.
- propertylocator
-
Locatorосновных делений цветовой шкалы.
- propertylong_axis
-
Ось, на которой расположены элементы оформления (деления и т. д.).
- propertyminorformatter
-
Formatterподписей вспомогательных делений цветовой шкалы.
- propertyminorlocator
-
Locatorвспомогательных делений цветовой шкалы.
- minorticks_off()[исходный код]
-
Отключить вспомогательные деления цветовой шкалы.
- minorticks_on()[исходный код]
-
Включить вспомогательные деления цветовой шкалы.
- n_rasterize=50
- remove()[исходный код]
-
Удалить эту цветовую шкалу с рисунка.
Если цветовая шкала была создана с помощью
use_gridspec=True, предыдущая gridspec будет восстановлена.
- set_alpha(alpha)[исходный код]
-
Задать прозрачность: от 0 (прозрачный) до 1 (непрозрачный).
Если передан массив, для alpha будет задано значение None, чтобы использовать значения прозрачности, связанные с цветовой картой.
- set_label(label, *, loc=None, **kwargs)[исходный код]
-
Добавить подпись вдоль длинной оси цветовой шкалы.
- Параметры:
-
- labelstr
-
Текст подписи.
- locstr, необязательный
-
Расположение подписи.
- Для горизонтальной ориентации — одно из значений {'left', 'center', 'right'}
- Для вертикальной ориентации — одно из значений {'bottom', 'center', 'top'}
По умолчанию используется
rcParams["xaxis.labellocation"](значение по умолчанию:'center') илиrcParams["yaxis.labellocation"](значение по умолчанию:'center') в зависимости от ориентации. - **kwargs
-
Именованные аргументы передаются в
set_xlabel/set_ylabel. Поддерживаются аргумент labelpad и свойстваText.
- set_ticklabels(ticklabels, *, minor=False, **kwargs)[исходный код]
-
[Не рекомендуется] Задать подписи делений.
Не рекомендуется
Этот метод не рекомендуется использовать из-за зависимости от положений делений. В большинстве случаев вместо него следует использовать
set_ticks(positions, labels=labels).Если вы используете этот метод, всегда предварительно фиксируйте положения делений, например с помощью
Colorbar.set_ticksили явно задавFixedLocatorдля длинной оси цветовой шкалы. В противном случае деления могут перемещаться, и подписи могут оказаться в неожиданных местах.- Параметры:
-
-
ticklabelsпоследовательность строк или объектов
Text -
Тексты для подписей каждого положения деления в последовательности, заданной с помощью
Colorbar.set_ticks; число подписей должно совпадать с числом положений. - update_ticksbool, по умолчанию: True
-
Этот именованный аргумент игнорируется и будет удалён. Устарело
- minorbool
-
Если True, задать вспомогательные деления вместо основных.
- **kwargs
-
Свойства
Textдля подписей.
-
ticklabelsпоследовательность строк или объектов
- set_ticks(ticks, *, labels=None, minor=False, **kwargs)[исходный код]
-
Задать положения делений.
- Параметры:
-
- ticksодномерный массивоподобный объект
-
Список положений делений.
- labelsсписок строк, необязательный
-
Список подписей делений. Если не задан, подписи отображают значения данных.
- minorbool, по умолчанию: False
-
Если
False, задаются основные деления; еслиTrue— вспомогательные. - **kwargs
-
Свойства
Textдля подписей. Они применяются только при передаче labels. В остальных случаях используйтеtick_params.
- update_normal(mappable=None)[исходный код]
-
Обновить сплошные заливки, линии и т. д.
Этот метод предназначен для вызова при изменении нормализации изображения или контурного графика, с которым связана эта цветовая шкала.
Если нормализация объекта mappable отличается от прежней, для оси сбрасываются локатор и форматировщик. Если они были настроены пользователем, настройку потребуется выполнить заново. Однако, если при изменении нормализации меняются только значения vmin, vmax или cmap, прежние форматировщик и локатор сохраняются.
- update_ticks()[исходный код]
-
Настроить деления и их подписи. Пользователям не требуется вызывать этот метод.
- matplotlib.colorbar.ColorbarBase[исходный код]
-
Псевдоним для
Colorbar
- matplotlib.colorbar.make_axes(parents, location=None, orientation=None, fraction=0.15, shrink=1.0, aspect=20, **kwargs)[исходный код]
-
Создаёт
Axes, подходящую для цветовой шкалы.Область Axes размещается на рисунке родительской области Axes путём изменения размеров и положения родительской области.
- Параметры:
-
-
parents
Axesили итерируемый объект, илиnumpy.ndarrayизAxes -
Области Axes, которые будут использоваться как родительские при размещении цветовой шкалы.
- locationNone или {'left', 'right', 'top', 'bottom'}
-
Расположение области Axes цветовой шкалы относительно родительской области Axes. Оно также определяет ориентацию цветовой шкалы (цветовые шкалы слева и справа расположены вертикально, а сверху и снизу — горизонтально). Если задано None, расположение определяется параметром orientation, если он задан (вертикальные цветовые шкалы располагаются справа, горизонтальные — снизу); если orientation не задан, по умолчанию используется значение 'right'.
- orientationNone или {'vertical', 'horizontal'}
-
Ориентация цветовой шкалы. Рекомендуется задавать расположение цветовой шкалы с помощью параметра location, поскольку оно также определяет её ориентацию; передача несовместимых значений для location и orientation вызывает исключение.
- fractionfloat, по умолчанию: 0.15
-
Доля исходной области Axes, используемая для цветовой шкалы.
- shrinkfloat, по умолчанию: 1.0
-
Коэффициент, на который умножается размер цветовой шкалы.
- aspectfloat, по умолчанию: 20
-
Отношение длинной стороны к короткой.
- padfloat, по умолчанию: 0.05 для вертикальной, 0.15 для горизонтальной
-
Доля исходной области Axes, отделяющая цветовую шкалу от новой области Axes изображения.
- anchor(float, float), необязательно
-
Точка привязки области Axes цветовой шкалы. По умолчанию равна (0.0, 0.5) для вертикальной ориентации и (0.5, 1.0) для горизонтальной.
- panchor(float, float) или False, необязательно
-
Точка привязки родительской области Axes цветовой шкалы. Если задано False, точка привязки родительской области Axes не изменяется. По умолчанию равна (1.0, 0.5) для вертикальной ориентации и (0.5, 0.0) для горизонтальной.
-
parents
- Возвращает:
-
-
cax
Axes -
Дочерняя область Axes.
- kwargsdict
-
Сокращённый словарь ключевых аргументов, который передаётся при создании экземпляра цветовой шкалы.
-
cax
- matplotlib.colorbar.make_axes_gridspec(parent, *, location=None, orientation=None, fraction=0.15, shrink=1.0, aspect=20, **kwargs)[исходный код]
-
Создаёт
Axes, подходящую для цветовой шкалы.Область Axes размещается на рисунке родительской области Axes путём изменения размеров и положения родительской области.
Эта функция похожа на
make_axesи в основном совместима с ней. Основные различия:-
make_axes_gridspecтребует, чтобы у родительской области был subplotspec. -
make_axesразмещает область Axes в координатах рисунка;make_axes_gridspecразмещает её с помощью subplotspec. -
make_axesобновляет положение родительской области.make_axes_gridspecзаменяет сетку родительской области на новую.
- Параметры:
-
-
parent
Axes -
Область Axes, которая будет использоваться как родительская при размещении цветовой шкалы.
- locationNone или {'left', 'right', 'top', 'bottom'}
-
Расположение области Axes цветовой шкалы относительно родительской области Axes. Оно также определяет ориентацию цветовой шкалы (цветовые шкалы слева и справа расположены вертикально, а сверху и снизу — горизонтально). Если задано None, расположение определяется параметром orientation, если он задан (вертикальные цветовые шкалы располагаются справа, горизонтальные — снизу); если orientation не задан, по умолчанию используется значение 'right'.
- orientationNone или {'vertical', 'horizontal'}
-
Ориентация цветовой шкалы. Рекомендуется задавать расположение цветовой шкалы с помощью параметра location, поскольку оно также определяет её ориентацию; передача несовместимых значений для location и orientation вызывает исключение.
- fractionfloat, по умолчанию: 0.15
-
Доля исходной области Axes, используемая для цветовой шкалы.
- shrinkfloat, по умолчанию: 1.0
-
Коэффициент, на который умножается размер цветовой шкалы.
- aspectfloat, по умолчанию: 20
-
Отношение длинной стороны к короткой.
- padfloat, по умолчанию: 0.05 для вертикальной, 0.15 для горизонтальной
-
Доля исходной области Axes, отделяющая цветовую шкалу от новой области Axes изображения.
- anchor(float, float), необязательно
-
Точка привязки области Axes цветовой шкалы. По умолчанию равна (0.0, 0.5) для вертикальной ориентации и (0.5, 1.0) для горизонтальной.
- panchor(float, float) или False, необязательно
-
Точка привязки родительской области Axes цветовой шкалы. Если задано False, точка привязки родительской области Axes не изменяется. По умолчанию равна (1.0, 0.5) для вертикальной ориентации и (0.5, 0.0) для горизонтальной.
-
parent
- Возвращает:
-
-
cax
Axes -
Дочерняя область Axes.
- kwargsdict
-
Сокращённый словарь ключевых аргументов, который передаётся при создании экземпляра цветовой шкалы.
-
cax
-
© 2012–2026 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/stable/api/colorbar_api.html