matplotlib.pyplot.colorbar
- matplotlib.pyplot.colorbar(mappable=None, cax=None, ax=None, **kwargs)[source]
-
Добавляет цветовую шкалу к графику.
- Параметры:
-
- mappable
-
matplotlib.cm.ScalarMappable(т. е.AxesImage,ContourSetи т. д.), который описывается этой цветовой шкалой. Этот аргумент обязателен для методаFigure.colorbar, но необязателен для функцииpyplot.colorbar, которая по умолчанию использует текущее изображение.Обратите внимание, что можно создать
ScalarMappable«на лету», чтобы построить цветовые шкалы, не связанные с ранее нарисованным объектом, например:fig.colorbar(cm.ScalarMappable(norm=norm, cmap=cmap), ax=ax)
-
cax
Axes, необязательный -
Область Axes, в которой будет нарисована цветовая шкала. Если задано
None, создаётся новая область Axes, а необходимое для неё пространство выделяется из области (областей) Axes, указанной в ax. -
ax
Axesили итерируемый объект, илиnumpy.ndarrayиз объектов Axes, необязательный -
Одна или несколько родительских областей Axes, из которых будет выделено пространство для новой области Axes цветовой шкалы. Этот параметр используется, только если cax не задан.
По умолчанию используется область Axes, содержащая объект mappable, который применяется для создания цветовой шкалы.
- use_gridspecbool, необязательный
-
Если cax —
None, новый cax создаётся как экземпляр Axes. Если для ax задан subplotspec и use_gridspec —True, для cax также задаётся subplotspec.
- Возвращает:
-
-
colorbar
Colorbar
-
colorbar
- Другие параметры:
-
- 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) для горизонтальной.
- 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' задаёт пространство пропорционально интервалу данных.
Примечания
Примечание
Это обёртка pyplot для
Figure.colorbar.Если mappable — это
ContourSet, его аргумент extend автоматически учитывается.Аргумент shrink позволяет просто изменить размер цветовой шкалы относительно области Axes. Обратите внимание: если указан cax, именно он определяет размер цветовой шкалы, а параметры shrink и aspect игнорируются.
Для более точного управления можно вручную задать расположение объектов Axes, в которых отображаются объект mappable и цветовая шкала. В этом случае не используйте аргументы свойств Axes.
Известно, что некоторые средства просмотра векторной графики (SVG и PDF) отображают белые промежутки между сегментами цветовой шкалы. Причина — ошибки в программах просмотра, а не в Matplotlib. В качестве обходного решения цветовую шкалу можно отобразить с перекрывающимися сегментами:
cbar = colorbar() cbar.solids.set_edgecolor("face") draw()Однако в некоторых случаях это приводит к нежелательным последствиям, например при работе с полупрозрачными изображениями (alpha < 1) и окончаниями цветовой шкалы; поэтому по умолчанию это обходное решение не используется (см. issue #1188).
Примеры использования matplotlib.pyplot.colorbar
Построение нескольких линий с помощью LineCollection
© 2012–2026 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.colorbar.html