On this page
matplotlib.colorbar
Colorbars are a visualization of the mapping from scalar values to colors. In Matplotlib they are drawn into a dedicated Axes
.
Note
Colorbars are typically created through Figure.colorbar
or its pyplot wrapper pyplot.colorbar
, which internally use Colorbar
together with make_axes_gridspec
(for GridSpec
-positioned axes) or make_axes
(for non-GridSpec
-positioned axes).
End-users most likely won't need to directly use this module's API.
- classmatplotlib.colorbar.Colorbar(ax, mappable=None, *, cmap=None, norm=None, alpha=None, values=None, boundaries=None, orientation='vertical', ticklocation='auto', extend=None, spacing='uniform', ticks=None, format=None, drawedges=False, filled=True, extendfrac=None, extendrect=False, label='')[source]
-
Bases:
object
Draw a colorbar in an existing axes.
Typically, colorbars are created using
Figure.colorbar
orpyplot.colorbar
and associated withScalarMappable
s (such as anAxesImage
generated viaimshow
).In order to draw a colorbar not associated with other elements in the figure, e.g. when showing a colormap by itself, one can create an empty
ScalarMappable
, or directly pass cmap and norm instead of mappable toColorbar
.Useful public methods are
set_label()
andadd_lines()
.- Parameters
-
- ax
Axes
-
The
Axes
instance in which the colorbar is drawn. - mappable
ScalarMappable
-
The mappable whose colormap and norm will be used.
To show the under- and over- value colors, the mappable's norm should be specified as
norm = colors.Normalize(clip=False)
To show the colors versus index instead of on a 0-1 scale, use:
norm=colors.NoNorm()
- cmap
Colormap
, default:rcParams["image.cmap"]
(default:'viridis'
) -
The colormap to use. This parameter is ignored, unless mappable is None.
- norm
Normalize
-
The normalization to use. This parameter is ignored, unless mappable is None.
- alphafloat
-
The colorbar transparency between 0 (transparent) and 1 (opaque).
- values, boundaries
-
If unset, the colormap will be displayed on a 0-1 scale.
- orientation{'vertical', 'horizontal'}
- ticklocation{'auto', 'left', 'right', 'top', 'bottom'}
- extend{'neither', 'both', 'min', 'max'}
- spacing{'uniform', 'proportional'}
- ticks
Locator
or array-like of float - formatstr or
Formatter
- drawedgesbool
- filledbool
- extendfrac
- extendrec
- labelstr
- ax
- Attributes
-
- ax
Axes
-
The
Axes
instance in which the colorbar is drawn. - lineslist
-
A list of
LineCollection
(empty if no lines were drawn). - dividers
LineCollection
-
A LineCollection (empty if drawedges is
False
).
- ax
- add_lines(*args, **kwargs)[source]
-
Draw lines on the colorbar.
The lines are appended to the list
lines
.- Parameters
-
- levelsarray-like
-
The positions of the lines.
- colorscolor or list of colors
-
Either a single color applying to all lines or one color value for each line.
- linewidthsfloat or array-like
-
Either a single linewidth applying to all lines or one linewidth for each line.
- erasebool, default: True
-
Whether to remove any previously added lines.
Notes
Alternatively, this method can also be called with the signature
colorbar.add_lines(contour_set, erase=True)
, in which case levels, colors, and linewidths are taken from contour_set.
- drag_pan(button, key, x, y)[source]
- draw_all()[source]
-
Calculate any free parameters based on the current cmap and norm, and do all the drawing.
- get_ticks(minor=False)[source]
-
Return the ticks as a list of locations.
- Parameters
-
- minorboolean, default: False
-
if True return the minor ticks.
- minorticks_off()[source]
-
Turn the minor ticks of the colorbar off.
- minorticks_on()[source]
-
Turn on colorbar minor ticks.
- n_rasterize=50
- propertypatch[source]
- remove()[source]
-
Remove this colorbar from the figure.
If the colorbar was created with
use_gridspec=True
the previous gridspec is restored.
- set_alpha(alpha)[source]
-
Set the transparency between 0 (transparent) and 1 (opaque).
If an array is provided, alpha will be set to None to use the transparency values associated with the colormap.
- set_label(label, *, loc=None, **kwargs)[source]
-
Add a label to the long axis of the colorbar.
- Parameters
-
- labelstr
-
The label text.
- locstr, optional
-
The location of the label.
- For horizontal orientation one of {'left', 'center', 'right'}
- For vertical orientation one of {'bottom', 'center', 'top'}
Defaults to
rcParams["xaxis.labellocation"]
(default:'center'
) orrcParams["yaxis.labellocation"]
(default:'center'
) depending on the orientation. - **kwargs
-
Keyword arguments are passed to
set_xlabel
/set_ylabel
. Supported keywords are labelpad andText
properties.
- set_ticklabels(ticklabels, update_ticks=<deprecated parameter>, *, minor=False, **kwargs)[source]
-
Set tick labels.
Discouraged
The use of this method is discouraged, because of the dependency on tick positions. In most cases, you'll want to use
set_ticks(positions, labels=labels)
instead.If you are using this method, you should always fix the tick positions before, e.g. by using
Colorbar.set_ticks
or by explicitly setting aFixedLocator
on the long axis of the colorbar. Otherwise, ticks are free to move and the labels may end up in unexpected positions.- Parameters
-
- ticklabelssequence of str or of
Text
-
Texts for labeling each tick location in the sequence set by
Colorbar.set_ticks
; the number of labels must match the number of locations. - update_ticksbool, default: True
-
This keyword argument is ignored and will be be removed. Deprecated
- minorbool
-
If True, set minor ticks instead of major ticks.
- **kwargs
-
Text
properties for the labels.
- ticklabelssequence of str or of
- set_ticks(ticks, update_ticks=<deprecated parameter>, labels=None, *, minor=False, **kwargs)[source]
-
Set tick locations.
- Parameters
-
- tickslist of floats
-
List of tick locations.
- labelslist of str, optional
-
List of tick labels. If not set, the labels show the data value.
- minorbool, default: False
-
If
False
, set the major ticks; ifTrue
, the minor ticks. - **kwargs
-
Text
properties for the labels. These take effect only if you pass labels. In other cases, please usetick_params
.
- update_normal(mappable)[source]
-
Update solid patches, lines, etc.
This is meant to be called when the norm of the image or contour plot to which this colorbar belongs changes.
If the norm on the mappable is different than before, this resets the locator and formatter for the axis, so if these have been customized, they will need to be customized again. However, if the norm only changes values of vmin, vmax or cmap then the old formatter and locator will be preserved.
- update_ticks()[source]
-
Setup the ticks and ticklabels. This should not be needed by users.
- matplotlib.colorbar.ColorbarBase[source]
-
alias of
matplotlib.colorbar.Colorbar
- classmatplotlib.colorbar.ColorbarPatch(ax, mappable=None, *, cmap=None, norm=None, alpha=None, values=None, boundaries=None, orientation='vertical', ticklocation='auto', extend=None, spacing='uniform', ticks=None, format=None, drawedges=False, filled=True, extendfrac=None, extendrect=False, label='')[source]
-
Bases:
matplotlib.colorbar.Colorbar
[Deprecated]
Notes
Deprecated since version 3.4:
- matplotlib.colorbar.colorbar_factory(cax, mappable, **kwargs)[source]
-
[Deprecated] Create a colorbar on the given axes for the given mappable.
Note
This is a low-level function to turn an existing axes into a colorbar axes. Typically, you'll want to use
colorbar
instead, which automatically handles creation and placement of a suitable axes as well.- Parameters
-
- cax
Axes
-
The
Axes
to turn into a colorbar. - mappable
ScalarMappable
-
The mappable to be described by the colorbar.
- **kwargs
-
Keyword arguments are passed to the respective colorbar class.
- cax
- Returns
-
-
Colorbar
-
The created colorbar instance.
-
Notes
Deprecated since version 3.4.
- matplotlib.colorbar.make_axes(parents, location=None, orientation=None, fraction=0.15, shrink=1.0, aspect=20, **kw)[source]
-
Create an
Axes
suitable for a colorbar.The axes is placed in the figure of the parents axes, by resizing and repositioning parents.
- Parameters
-
- parents
Axes
or list ofAxes
-
The Axes to use as parents for placing the colorbar.
- locationNone or {'left', 'right', 'top', 'bottom'}
-
The location, relative to the parent axes, where the colorbar axes is created. It also determines the orientation of the colorbar (colorbars on the left and right are vertical, colorbars at the top and bottom are horizontal). If None, the location will come from the orientation if it is set (vertical colorbars on the right, horizontal ones at the bottom), or default to 'right' if orientation is unset.
- orientationNone or {'vertical', 'horizontal'}
-
The orientation of the colorbar. It is preferable to set the location of the colorbar, as that also determines the orientation; passing incompatible values for location and orientation raises an exception.
- fractionfloat, default: 0.15
-
Fraction of original axes to use for colorbar.
- shrinkfloat, default: 1.0
-
Fraction by which to multiply the size of the colorbar.
- aspectfloat, default: 20
-
Ratio of long to short dimensions.
- parents
- Returns
-
- cax
Axes
-
The child axes.
- kwdict
-
The reduced keyword dictionary to be passed when creating the colorbar instance.
- cax
- Other Parameters
-
- padfloat, default: 0.05 if vertical, 0.15 if horizontal
-
Fraction of original axes between colorbar and new image axes.
- anchor(float, float), optional
-
The anchor point of the colorbar axes. Defaults to (0.0, 0.5) if vertical; (0.5, 1.0) if horizontal.
- panchor(float, float), or False, optional
-
The anchor point of the colorbar parent axes. If False, the parent axes' anchor will be unchanged. Defaults to (1.0, 0.5) if vertical; (0.5, 0.0) if horizontal.
- matplotlib.colorbar.make_axes_gridspec(parent, *, location=None, orientation=None, fraction=0.15, shrink=1.0, aspect=20, **kw)[source]
-
Create a
SubplotBase
suitable for a colorbar.The axes is placed in the figure of the parent axes, by resizing and repositioning parent.
This function is similar to
make_axes
. Primary differences aremake_axes_gridspec
should only be used with aSubplotBase
parent.make_axes
creates anAxes
;make_axes_gridspec
creates aSubplotBase
.make_axes
updates the position of the parent.make_axes_gridspec
replaces thegrid_spec
attribute of the parent with a new one.
While this function is meant to be compatible with
make_axes
, there could be some minor differences.- Parameters
-
- parent
Axes
-
The Axes to use as parent for placing the colorbar.
- locationNone or {'left', 'right', 'top', 'bottom'}
-
The location, relative to the parent axes, where the colorbar axes is created. It also determines the orientation of the colorbar (colorbars on the left and right are vertical, colorbars at the top and bottom are horizontal). If None, the location will come from the orientation if it is set (vertical colorbars on the right, horizontal ones at the bottom), or default to 'right' if orientation is unset.
- orientationNone or {'vertical', 'horizontal'}
-
The orientation of the colorbar. It is preferable to set the location of the colorbar, as that also determines the orientation; passing incompatible values for location and orientation raises an exception.
- fractionfloat, default: 0.15
-
Fraction of original axes to use for colorbar.
- shrinkfloat, default: 1.0
-
Fraction by which to multiply the size of the colorbar.
- aspectfloat, default: 20
-
Ratio of long to short dimensions.
- parent
- Returns
-
- cax
SubplotBase
-
The child axes.
- kwdict
-
The reduced keyword dictionary to be passed when creating the colorbar instance.
- cax
- Other Parameters
-
- padfloat, default: 0.05 if vertical, 0.15 if horizontal
-
Fraction of original axes between colorbar and new image axes.
- anchor(float, float), optional
-
The anchor point of the colorbar axes. Defaults to (0.0, 0.5) if vertical; (0.5, 1.0) if horizontal.
- panchor(float, float), or False, optional
-
The anchor point of the colorbar parent axes. If False, the parent axes' anchor will be unchanged. Defaults to (1.0, 0.5) if vertical; (0.5, 0.0) if horizontal.
© 2012–2021 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.5.1/api/colorbar_api.html