lets_plot.scale_color_brewer(type=None, palette=None, direction=None, name=None, breaks=None, labels=None, limits=None, na_value=None, guide=None, trans=None, format=None)

Sequential, diverging and qualitative color scales from colorbrewer2.org for color aesthetic. Color schemes provided are particularly suited to display discrete values (levels of factors) on a map.

  • type ({‘seq’, ‘div’, ‘qual’}) – One of seq (sequential), div (diverging) or qual (qualitative) types of scales.

  • palette (str or int) – If a string, will use that named palette. If a number, will index into the list of palettes of appropriate type.

  • direction ({1, -1}, default=1) – Sets the order of colors in the scale. If 1, colors are as output by brewer palette. If -1, the order of colors is reversed.

  • name (str) – The name of the scale - used as the axis label or the legend title. If None, the default, the name of the scale is taken from the first mapping used for that aesthetic.

  • breaks (list) – A numeric vector of positions (of ticks).

  • labels (list of str) – A vector of labels (on ticks).

  • limits (list) – Continuous scale: a numeric vector of length two providing limits of the scale. Discrete scale: a vector specifying the data range for the scale and the default order of their display in guides.

  • na_value – Missing values will be replaced with this value.

  • guide – Guide to use for this scale. It can either be a string (‘colorbar’, ‘legend’) or a call to a guide function (guide_colorbar(), guide_legend()) specifying additional arguments. ‘none’ will hide the guide.

  • trans ({‘identity’, ‘log10’, ‘sqrt’, ‘reverse’}) – Name of built-in transformation.

  • format (str) – Defines the format for labels on the scale. The syntax resembles Python’s: ‘.2f’ -> ‘12.45’ ‘Num {}’ -> ‘Num 12.456789’ ‘TTL: {.2f}$’ -> ‘TTL: 12.45$’ For more info see https://lets-plot.org/pages/formats.html.


Scale specification.

Return type



Defines sequential, diverging and qualitative color scales from colorbrewer2.org for color aesthetic. ColorBrewer provides sequential, diverging and qualitative color schemes which are particularly suited and tested to display discrete values (levels of a factor) on a map. It allows to smoothly interpolate 6 colors from any palette to a continuous scale (6 colors per palette gives nice gradients; more results in more saturated colors which do not look as good).

However, the original color schemes (particularly the qualitative ones) were not intended for this and the perceptual result is left to the appreciation of the user. See colorbrewer2.org for more information.


  • Diverging : BrBG, PiYG, PRGn, PuOr, RdBu, RdGy, RdYlBu, RdYlGn, Spectral.

  • Qualitative : Accent, Dark2, Paired, Pastel1, Pastel2, Set1, Set2, Set3.

  • Sequential : Blues, BuGn, BuPu, GnBu, Greens, Greys, Oranges, OrRd, PuBu, PuBuGn, PuRd, Purples, RdPu, Reds, YlGn, YlGnBu, YlOrBr, YlOrRd.


1from lets_plot import *
3x = list(range(10))
4ggplot({'x': x, 'y': x}, aes('x', 'y')) + \
5    geom_point(aes(color='x'), shape=13, size=5) + \
6    scale_color_brewer(type='qual', palette='Dark2', direction=-1)